Assembly Instructions

for the Rotary Cell Phone Kit


Parts:

(included in the kit)
  • The rotary cell phone Main Board (PCB) available in the kit here, or fabricate your own using the design files here.

  • A 3D printed enclosure and buttons, available in the kit here or print your own using the STL files on the Thingiverse.

  • Hardware included in the kit with the enclosure here: 3X M2X10, 1X M2X14, 2X M2X6, and 6X M2 heat-set threaded inserts.

  • A Western Electric model 10A rotary dial. This page is dedicated to describing what dials will and won't work and where they might be sourced.

  • Two #4-40 x 7/16" machine screws for the terminals on the dial. The screws that come with the dial often work but in some cases may not be long enough.

  • Adafruit FONA 3G (American version) or FONA 3G (European version)

  • Adafruit eInk Breakout Friend here

  • The Good Display GDEW0213I5F 2.13" flexible ePaper display, which Adafruit sells here

  • 1.2Ah Lipo Battery w/ JST connector, available from Adafruit here

  • Quad-band GSM Antenna w/ SMA connector, which Adafruit has here

  • SMA Bulkhead Connector w/µFL pigtail, which Adafruit has here

  • A compatible 3G SIM card. In the US, this one from AT&T works

  • Tools:

  • Soldering equipment

  • Tweezers and/or small needle nose pliers

  • 1.5mm hex (Allen) key; ball-nose is good

  • A small flat-head screwdriver

  • Either very small pliers, a small crescent wrench, a compact SMA wrench, or just needle-nose pliers

  • X-Acto knife

  • Hot glue gun

  • Sandpaper; 120 grit and 400 or 600 grit

  • An AVR-ISP-Mk2 In-System Programmer, like this one
  • Expendables:

  • Scotch-brand double-sided sticky tape

  • Quick-set epoxy (2 minute or 5 minute)

  • 3M 467MP transfer adhesive or equivalent

  • Clear plastic packaging from any random thing (see Part 8 for clarification)


  • 1. Modify the Dial

    26:30 in the video gives supplementary detail for this section

    With a suitable Western Electric Model 10A dial in hand (see note in parts list above), we need to chop some bits off to make it fit with the PCB.

    a.) Cut off the polycarbonate tab that protrudes from the piece covering the dial face.

    b.) Cut the aluminum mounting tabs off around the perimeter. On the side of the reed switch, cutting the tabs flush with the edge isn't enough. We want to cut inside of them a millimeter or two.

    c.) Using a file or Dremel, cut the reed switch support potting just until the metal reeds are exposed (see example). If your dial has wires coming out of the top of the potting such that it would be impossible to file it without cutting through the wires, cut the wires off first. After the filing is complete, solder them back onto each reed of the reed switch. The dial featured in the video is of this variety and may clarify this procedure.

    d.) Some dial variants have a larger potted feature that extends into the region indicated in Figure 1. This will cause an interference when installing onto the cell phone main board, so some more dremel/file work is needed to remove material in such cases. See the video for more detail with this.

    Figure 1: Model 10A with terminal screws and potted reed switch



    2. Solder the eInk Breakout Friend

    23:17 in the video gives supplementary detail for this section

    a.) Solder the Adafruit eInk Breakout Friend to the main board. The Friend needs to be oriented component-side towards the main board as shown in Figure 2, and it helps to let it sit at an angle as shown to aid access to the FPC connector (the friction-lock connector for the ePaper display's flex cable):

    Figure 2: Positioning the eInk Friend on the Main Board

    b.) With the Friend in position, take either a header or individual pieces of hookup wire and skewer the Friend to the main board, soldering in place. Cut the ends of the header/wire flush on both sides.

    Figure 3: Soldering the eInk Friend to the Main Board



    3. Install the Dial

    31:48 in the video gives supplementary detail for this section

    a.) Slide the dial onto the main board. It's only by positioning the dial just so (Figure 4) that the dial will slide fully through the cutout in the board (Figure 5). If you really can't get it on it's likely that there's some feature of the dial that hasn't been cut enough to eliminate all the interferences. Take a look at the video for additional detail.

    Figure 4: Angling the dial into the main board

    Figure 5: The dial fully seated in the main board

    b.) Depending on the specifics of your dial the process of tightening the terminal screws onto the main board may have a tendency to bend the main board. In this case, it's desirable to add washers or some other spacer between the main board and the dial's terminals:

    Figure 6: Adding washers between the dial and main board

    c.)Screw the dial onto the main board using two 4-40 screws, slipping the dangling wire lug under the screw closest to the potting region as shown. If you dial has two wires, naturally, each screw gets one (as depicted in the video). If the screws that came on the dial aren't long enough I suggest 7/16" length 4-40 socket-head screws:

    Figure 7: Screwing the dial onto the main board



    4. Install the Adafruit FONA 3G

    35:50 in the video gives supplementary detail for this section

    With the dial installed we're going to solder the header to the FONA 3G at a slight angle in the position shown in Figure 8.

    Figure 8: Location of the FONA 3G on the main board

    a.) Slide the FONA's header through it and into the socket on the main board. Allow the FONA to sit at an angle as determined by mechanical contact with the filed-down portion of the reed switch on the dial as shown by Figures 9 and 10:

    Figure 9: Locating of the FONA 3G on the main board

    Figure 10: Locating of the FONA 3G on the main board

    b.) Solder the FONA to the header. You won't have good access to the solder pads all on the same side due to the plastic strip that holds the header in place, but if you solder both the outward and inward facing pads as shown in Figure 11 you'll have an easy time:

    Figure 11: Soldering the FONA 3G to its header

    c.) Remove the FONA from the socket and cut off the excess header with dikes. If the plastic strip is in the way you can pull it part or all of the way off first, and you'll be left with something like this:

    Figure 12: The finished FONA

    d.) Connect the μFL ("micro F L") to SMA cable to the FONA where it says "Cell Ant". It just presses on:

    Figure 13: The μFL/SMA pigtail connected to the FONA

    e.) And press the FONA back into its socket on the main board:

    Figure 14: Main board assembly so far



    5. Install the Battery

    If you ordered the 1200mAh LiPo battery with build-in protection circuitry listed in the parts list above, it already has the correct 2-pin JST connector on it so just plug it in. You may want to shorten the wires so it fits in the complete assembly more easily, but this isn't a necessity. If you do shorten them be mindful that the wires are live while you're cutting and resoldering. The battery in Figure 15 has had its wires shortened, as is apparent from the green heat-shrink tubing.

    If you use a different battery, be sure it has built-in low-voltage LiPo protection circuitry, as the phone's main board does not include this protection. Look here if you want to know why protection is important.

    If the main board's power switch is turned on while connecting the battery nothing bad will happen, but the board will of course power up. You can keep it off for now. All the buttons and switches are described by Figure 21.

    When it's time to assemble all this into the 3D printred enclosure the battery will need to be positioned as shown in Figure 15, but for now it can just dangle wherever.

    Figure 15: The battery connected



    6. Connect the ePaper Display

    The ePaper display is an incredibly fragile thing. The flex cable is robust but there's a region that extends about 7mm from the left edge of the display (see Figure 16) which, if flexed in any meaningful way, will lead to artifacts or irreversible damage. The reason is that there's an ASIC encapsulated in the kapton which is completely unprotected from a mechanical standpoint (you can actually see the silicon). If you closely in Figure 16 you can see that the chip on this display is in fact cracked:


    Figure 16: Handling the ePaper display

    The white display-portion of the device is robust enough, but don't flex it more than necessary. It seems it's meant to be bonded to a non-flat surface (the way we'll be doing), rather than for active flexing.

    a.) Plug the display's flex cable into the eInk Friend's FPC connector in anticipation of the first power-on test. The FPC connector retains the flex cable by means of a gray plastic strip which holds the cable by friction, and this strip should be out/loose during insertion.

    b.) With the display inserted and oriented as shown in Figures 17 and 18, use something like a fine screwdriver or blunt tweezers to press the gray frction-lock piece in:


    Figure 17: Inserting the ePaper display into the FPC connector


    Figure 18: Here the friction lock on the FPC connector is firmly pressed in



    7. Make a Call

    Before installing the phone assembly into the 3D printed enclosure, it's a good idea to test everything.

    Screw the antenna onto the SMA pigtail. Also, activate your SIM card online and insert it into the FONA. If during the activation process you need to enter the IMEI number, you'll find it on the label on the FONA (remove the FONA from the main board to see it).

    I'll call the resulting assembly the "cell phone guts" and it should look like Figure 19:


    Figure 19: The complete guts of the phone

    NOTE: If you're working from the kit the board will already have the firmware loaded, although you'll inevitably have to re-flash the firmware at some point as the contacts list is built into the Contacts.ino arduino file. You'll also have to add your own area code into the firmware if you want to use the "area code pre-pend" mode. The process for downloading, editing, and uploading the firmware on your own is explained further down in these instructions

    Turn the power switch on and wait about 10 seconds for the main board to go through its initialization process. The bar graph will do a "wipe" when it's ready, but if you miss it you can press the "clear" button at any time to make the LED bar graph do a wipe, thus showing that the phone is responsive.

    Seeing the LEDs work is an indicator that at the very least the board hasn't been fried, but naturally we want to confirm that (a)it's able to make calls and (b)the ePaper display works.

    a.) Before trying to place a call look for the red LED on the FONA which is on the side facing the main board. If you look at it from the side you'll be able to see it:


    Figure 20: The FONA's status LED

    When the FONA has connected to the cell network this LED will blink on and off about once per second. If it's solid, the FONA's on but has not connected to the cell network. It's important that the antenna be connected for it to make the connection. If it doesn't connect, try cycling the power. If you get the blinking light, you're basically home free.

    Next, try using the rotary dial. Simply dial any number except 0, and when the rotation completes you should hear a "touch" tone over the speaker. If that happens and you also have the blinking light, you can be pretty confident in the phone's ability to place and receive calls.

    To place a call:

      1. Press the "clear" button to make sure there are no numbers entered in the buffer.
      2. Put the 3-position mode switch in the middle position (see Figure 21), which is the "no area code prepend" mode (assuming you haven't already modified the firmware for your own area code).
      3. Dial someone area code first and without the leading "1". If you need the leading digit for your region you'll have to modify the firmware first and then come back to this step.
      4. Press the "hook" button. You'll hear the sequence of touch tones for the number you just dialed, and the "hook" LED on the bottom right of the phone will go solid indicating that a call is in progress. After a pleasant afternoon conversation with whoever you called, press the "hook" button again to hang up.

    NOTE: The process for placing a call is slightly different than what's described in the video. There, I describe having to hold both the "clear" and "hook" buttons simultaneously to place a call.

    b.) Now test the ePaper display. To do this, put the mode switch in the "Alt" position and simply dial "1" to see the standard display message appear. Each other number you dial will display your contacts list according to the letters (ABC, DEF, etc.) associated with each number... after you manually enter all your contacts into the Contacts.ino file in the firmware, of course.

    Figure 21 summarizes all of the phone's functionality:


    Figure 21: The functions of the rotary cell phone



    8. Prepare the Enclosure for Assembly

    38:40 in the video gives supplementary detail for this section

    a.) With an X-Acto knife in hand, inspect all the edges of the front and back enclosure halves that would be visible from the outside and trim any blobs and zits from the 3D printing process. In particular look at the cutouts for the ePaper display's flex cable, the USB port cutout, the arc-shaped side window for the meter LEDs, and the button holes.

    b.) If you want the window cutouts in the enclosure to be actual windows with clear plastic, use some clear plastic packing material (the kind you always think "tisk, what a waste that all this plastic gets used in packaging but which is bonded to cardboard, making it impractical to recylce"). Figure 22 shows an example of the kind of packaging I'm referring to, but that epoxy package was a bit thinner than I'd have liked:


    Figure 22: Packing material to use for windows

    There are four window cutouts: Three on the front enclosure piece and one on the back. The only one where the dimensions of the window piece are kind of important is the arc-shaped side window for the LED meter. I recommend tracing the cutouts onto paper:


    Figure 23: Trace the window cutouts in the enclosure pieces

    c.) Then, by placing your plastic packaging material onto the tracings and eyeing how much bigger the actual window should be to leave room for hot glue, cut out some pieces until you get something that works. Considering the cheapness of the window material I consider this a trial-and-error endeavor:


    Figure 24: Cutting window pieces

    d.) Taking care not to smear the windows, hot glue them in place by tacking around the perimeters. Give the video a look for this section if you'd like more guidance.


    Figure 24: Hot glue holding the windows in place

    e.) Now place all the buttons to check that they sit in the holes in the front enclosure freely. The "hook" and "clear" buttons look similar but they're each unique. The easiest way to tell which goes where it to place them so that the layer lines on the front face of the enclosure (the side facing down in Figure 25) are concentric with the big hole for the dial:


    Figure 25: Checking that the buttons drop into the button holes without resistance

    There should be no resistance at all but if there is, use the X-Acto to trim whatever printing artifacts are causing the interference on either the holes or the buttons themselves.




    9. Bond the ePaper to the Front Enclosure

    40:21 in the video gives supplementary detail for this section

    f.) Disconnect the ePaper display from the cell phone guts and extremely gently sand about the first centimeter of the back side with fine sandpaper. I've been using 400 or 600 grit, and it's good to place the display on a cushioned backing while sanding to protect the sensitive region described in Part 6 from stress:


    Figure 25: Sanded ePaper display

    g.) Sand the enclosure with coarser sandpaper (perhaps 120 grit) as shown in Figure 26.


    Figure 26: Sanding the front enclosure

    h.) Brush some 2 or 5 minute epoxy onto that same surface:


    Figure 27: Epoxy the ePaper-bonding surface of the front enclosure

    i.) Taking care not to get epoxy on the contacts of the display's flex cable, insert the cable through the cutout on the front enclosure as shown in Figure 28. There are two cutouts right next to each other; use the one closest to the front face of the enclosure.


    Figure 28: Inserting the ePaper display

    j.) Hold the display against the epoxy until it sets. To be sure the display will be well aligned, push its edge against the step in the enclosure that defines the edge of the bonding region, as shown in Figure 29. Once you feel confident that you can remove your hand from the display without it drifting, it's a good idea to wipe it with alcohol to remove any glue smudges.


    Figure 29: Hold the display in place until the epoxy sets

    k.) Apply 3m 467MP or similar transfer adhesive to the interior flex cable as shown in Figure 30. The adhesive should cover the flexible portion of the cable; not the stiffener. Epoxy can work here but transfer adhesive is easier if you have it.


    Figure 30: Applying transfer adhesive to the interior flex display cable

    l.) Using needle-nose pliers or blunt-nose tweezers, grab the stiffener of the flex cable and push it up and into the cavity in the enclosure as shown in Figure 31. The idea is that the transfer adhesive will hold it in place with the cable's end presented roughly normal to interior surface of the enclosure:


    Figure 31: The flex cable folded into its receptacle and presented for installation of the main board.



    10. Label the buttons

    50:31 in the video gives supplementary detail for this section

    There's a great deal of variation in how (or if) one might want to label their buttons. I use a label maker with either a white-on-clear or black-on-clear label cartridge coupled with glue to make silk screen-like labels on a budget.

    The video shows adding the labels as the very last step, but if using glue or epoxy to reinforce the bond between the labels and the (stepped) 3D printed enclosure it makes more sense to do this before final assembly so as not to inadvertently glue the buttons in place. For stickers that really last, it's important that the glue fill the underside of the stickers all the way to their edges, leaving no air gap. This implies some oozing will happen during the gluing process, which is fine as long as you have some wipes and/or alcohol on hand to keep things neat.

    The names I choose for my buttons go like "C" for clear, "H" for hook, etc, but you can do what you want.




    11. Assemble the Enclosure

    44:28 in the video gives supplementary detail for this section

    a.) Insert all the buttons into the front enclosure again as we did back in Figure 25. The "hook" and "clear" buttons can become agents of irritation while installing the guts, falling out of place at just the wrong time, but we can avoid the frustration by pressing them into a piece of tape across the front face of the enclosure as shown in Figure 32. I recommend gaffer's tape but masking tape will probably do.


    Figure 32: Hook and Clear buttons taped in place

    b.) Remove the FONA from the rest of the guts.

    c.) With the plastic retaining piece on the FPC connector of the eInk Friend loose, lower the guts into the front enclosure at an angle simultaneously pushing the FPC connector into the flex cable:


    Figure 33: Connecting the guts to the ePaper flex cable while lowering in place

    d.) When you're confident that the flex cable is in fact sticking into the FPC connector, lower the guts the rest of the way into the front enclosure. It may have to be "snapped" into the enclosure in the viscinity of the USB port, and the USB port should be completely visible through its cutout in the enclosure.


    Figure 34: The guts fully inserted in the front enclosure

    e.) With a fine screwdriver, tweezers, or some other pointy object, press the FPC latch piece in firmly to secure the cable:


    Figure 35: Securing the FPC connector

    f.) Now would be a good time to turn the phone back on and confirm that the display still works according to the steps from Part 7b.

    g.) Applying pressure on the guts to keep it from falling back out of the front enclosure, turn the phone over and check that the buttons still depress freely, and check that you can feel the "click" of the tactile switches on the main board.

    h.) Remove the lock washer and regular washer from the SMA connector on the SMA/μFL pigtail cable and mount the SMA connector to the back enclosure as shown in Figure 36. Pick an orientation that situates the μFL connector close to the correct orientation for when it's plugged into the FONA. There's a hex-shaped recess inside the back enclosure so there's six possible orientations, and as you tighten the SMA nut onto the outside the hex recess will do the work of securing the cable without an extra tool. I don't have a wrench compact enough to tighten the SMA nut in the confined space of the back enclosure so I use needlenose pliers, which is the wrong tool but it works. Don't worry about marring the SMA nut if all you have is needle-nose pliers because it will be covered up by another 3D printed piece anyway. Don't be gentle tightening the nut. The bulkhead that the SMA connector is penetrating through is especially thick to provide a strong mounting point for any antenna you might attach.


    Figure 36: Installing the SMA/μFL pigtail

    i.) With the SMA connector installed, screw on your antenna until it's finger tight. The recommended antenna is especially compact but is not capable of articulating on it's own. To get around this, we install a 3D printed piece that I call the SMA "key" or "plug". The idea is that we can loosen the antenna's SMA nut just enough to allow it to articulate and then use the SMA Key to affix the nut so it doesn't get looser or tighter as we swing the antenna around. This works quite well; The resistance of the antenna to motion seems just right and the fact that the connector is slightly loose doesn't seem to affect reception noticeably, although I haven't taken the time to test this with a VNA.


    Figure 37: Installing the SMA key

    j.) With the antenna's SMA nut loosened to the first position from fully tight that will allow the SMA key to slip on, tighten the two M2X6 socket head screws and call it macaroni.


    Figure 38: Antenna installed with printed SMA Plug/Key in place

    k.) Turn the phone back over and with the now-attached back enclosure nearby, plug the μFL connector on the SMA/μFL pigtail back into the FONA and press the FONA back into its socket on the main board.

    l.) Position the battery as shown in Figure 15 and position the SMA/μFL cable so it won't get pinched, then lower the back enclosure onto the front enclosure.


    Figure 38: Installing the back enclosure

    m.) It will be easiest to slide the back enclosure over the blue 6-pin connector (the ICSP programming header) first. Continue lowering the enclosure until the half closest to the USB connector snaps in place. The part of the back enclosure near the SMA/antenna connector will pinch the battery wires as you lower it, so use tweezers to push the wires out of the way. These wires will need to make a sharp turn as they come out of the JST connector:


    Figure 39: Pushing the battery wires out of the way so they don't get pinched between the enclosure halves

    n.) Holding the enclosure halves together by hand, install and tighten the four remaining M2 screws as shown by Figure 40:

    Figure 40: Screw locations for the enclosure



    12. Bond the ePaper to the Back Enclosure

    47:40 in the video gives supplementary detail for this section

    This last part is easy but frought with danger. The ePaper display will be flexed over and onto the back of the enclosure and bonded in place using double-sided Scotch-brand tape. It may be tempting to use a stronger adhesive but I've found that standard double-sided sticky tape is aggressive enough to keep the display bonded perfectly well while also having the virtue of being reversible for when you need to re-open the enclosure.

    I've had mixed results with this process and have destroyed a lot of displays trying to find the best method. If you just quickly press the display onto the back after the tape is in place, you'll likely find that it develops artifacts (usually horizontal black lines) when you refresh it. Even if it doesn't do this at first it may after a day or two of adjusting to it's new permanently-flexed topology. To avoid the artifacts (or even outright failure) I've experimented with heat-forming the display, which is shown in the video with a note recommending that you DON'T do it. Since editing that video I've once again vascillated on my position and think that some degree of heat forming may be beneficial. However, as a safer and possibly-better alternative I suggest the following easy, albeit drawn-out technique:

    a.) Use a piece of regular (not double-sided) Scotch tape to hold the display in a partially-flexed position as shown in Figure 41, and turn the phone on and refresh the display to check that it's still artifact-free:


    Figure 41: Easing the ePaper into its new form

    b.) Put the phone on a shelf like that overnight, and the next day reposition the tape to get it a bit closer to it's final position. Test it again. If at any point the display develops artifacts, ease off with the amount of bending and let it sit for another long period.

    c.) Repeat until you're convinced that you'll be able to press the display right against the back of the phone without having any issues.

    d.)Cut two piece of double-sided Scotch tape and lay them onto the bonding surface on the back of the phone, using a finger to hold the ePaper out of the way:


    Figure 42: Positioning double-sided Scotch tape

    e.) Gently and methodically press the ePaper onto the tape, moving from the front down to the back:


    Figure 42: Pressing the ePaper down

    It's done.

    Figure 43: Finished phone




    13. Programming

    33:09 in the video gives supplementary detail for this section

    To get some of the most important features out of your phone you'll want to edit your contacts list and personal area code in the firmware and re-upload it.

    I'm going to go out of order here in the sense that I'm going to tell you how to upload the firmware first, followed by a description of how to add your contacts list and your own area code (for the area code prepend mode). If you're unfamiliar with Arduino stuff I suggest you follow these steps in the order they're actually presented. By going through the process of first uploading the unmodified firmware, you can go on to modifying it with confidence that you're actually empowered to affect the functionality of the phone. Even aside from that you'll want the most up-to-date version of the firmware anyway.

    Aquiring and uploading firmware:

    a.) Download the firmware here. If you're not familiar with github, just click the green "Clone or download" button and unzip it.

    b.) The decompressed folder will contain files called Contacts.ino, Functions.ino, and main.ino (and a readme). Move them into a folder called "main" and put it in some sensible and orderly on place on your computer.

    c.) If you don't already have it, install the Arduino IDE, available here. An IDE is a single program that lets you edit source code and compile (and in this case, upload or "flash" it) all in the same place. But you don't need to use the Arduino IDE for editing; any text editor will work. To do this turn on "Use external editor" in File>Preferences.

    d.) The firmware depends on Jean-Marc Zingg's GxEPD2 library for controlling the ePaper display. In the Arduino IDE go to Sketch > Include Library > Manage Libraries. From there, type GxEPD2 into the search bar and then install it (it should be the first result).

    e.) We also need to install the "MegaCore" package to add support for the rotary cell phone's main board to the Arduino IDE. To do this go to File>Preferences and under "Additional Boards Manger URLs" paste this link: https://mcudude.github.io/MegaCore/package_MCUdude_MegaCore_index.json

    Then go to Tools>Board:>Boards Manager... and search for "megacore". Install it.

    f.) Plug your AVR-ISP-Mk2 programmer into your computer and arrange the "TARGET" jumpers for "ON" and "3.3V":


    Figure 44a: AVR-ISP-Mk2 plugged in and correctly configured

    g.) Plug the programmer into the blue connector on the back of the cell phone. This is called the ICSP (In Circuit Serial Programming) header:


    Figure 44b: AVR-ISP-Mk2 plugged in and correctly configured

    h.) Back in the Arduino IDE under the "Tools" menu, set the following settings:

  • Board: "ATmega2560" (pick the one under the "MegaCore" section of the menu, closer to the bottom)
  • Clock: "External 8 MHz"
  • BOD: "BOD 2.7V"
  • Compliler LTO: "LTO Enabled"
  • Pinout: "Arduino MEGA Pinout"
  • Bootloader: "Yes (UART0)"
  • Programmer: "AVRISP mkII"
  • i.) Okay, we're ready to do the deed. Ready? Go to Tools>Burn Bootloader. That will complete in just a few seconds.

    Now, to actually upload this firmware, press Ctrl+Shift+U. Alternatively, go to Sketch>Upload Using Programmer.

    You should see the LEDs on the programmer doing something different and a note about the upload being in progress. After many seconds it will finish and you can smile in the knowledge that the code in front of you has just been converted to the low-level binary instructions needed to run the phone, and most importantly that you have the power to edit that code.

    Editing Your Area Code and Contacts List into the Firmware:

    Switching to your personal area code is easy:

    a.)In either your favorite text editor or the Arduino IDE open main.ino and press "Ctrl+F" to open the "find" dialogue. If you didn't know, this works for everything (web browsers, word processors, you name it). Use that to search for "631", and every instance of "631" in the document will be highlighted. Now just replace each "631" with your own area code.

    b.) Do the same thing in Functions.ino.

    Now to add in your contacts list:

    a.) Open Contacts.ino in a text editor or the Arduino IDE and scroll down a bit. It will look something like Figure 45:


    Figure 45: The part of the code that displays contacts on the ePaper

    This section of the code is resonsible for displaying your contact list on the ePaper display. For example, with the phone in "ALT" mode, if you dial "3" for "DEF", it will display:

    CONTACTS D-F:

    1: Dennis
    2: Duncan
    3: Frank

    So you can see that changing what it displays is as simple as editing the example names already in the code. What if we want to add another name after Frank?

    Let's say we want to add someone named Chani. Well, we see that we just need to add the text...

    display.setCursor(0, 100);
    display.print("4: Chani");

    ...between...

    display.print("3: Frank");


    ...and...

    } while (display.nextPage());


    ...without really even needing to know the mechanics of what the code is doing, and that's just fine.

    Do that for all your actual contacts and experiment with how it will look on the phone by uploading the code periodically with the Arduino IDE as described above.

    But what about the phone numbers? All we talked about so far is displaying the contacts and not actually telling the phone how to call them. More clever (i.e. good) code would have this all handled by the same function (subroutine), but my code is incredibly simplistic. If you keep scrolling down in the Contacts.ino file there's another section where the phone numbers are handled:


    Figure 46: The part of the code that stores phone numbers

    Looking at this you'll see that sections are demarcated by statements like

    if (pagenum == 3){


    And above, where the code is to display the contacts, there were also page numbers defined. For example, in the DEF section there was

    pagenum = 3;


    So each page of contacts has it's own "pagenum", which determines the number you have to dial to get that page, and the numbers listed here correlate with the contacts defined above. For example, Duncan was contact 2 on page 3. If we want to change Duncan's phone number from (123) 123-4567 to (516) 867-5309, we would replace...

    if (PNumber[0] == 2){
    PNumber[0] = 1;
    PNumber[1] = 2;
    PNumber[2] = 3;
    PNumber[3] = 1;
    PNumber[4] = 2;
    PNumber[5] = 3;
    PNumber[6] = 4;
    PNumber[7] = 5;
    PNumber[8] = 6;
    PNumber[9] = 7;
    }


    ...with...

    if (PNumber[0] == 2){
    PNumber[0] = 5;
    PNumber[1] = 1;
    PNumber[2] = 6;
    PNumber[3] = 8;
    PNumber[4] = 6;
    PNumber[5] = 7;
    PNumber[6] = 5;
    PNumber[7] = 3;
    PNumber[8] = 0;
    PNumber[9] = 9;


    So just do this for all your contacts. MUCH easier than just pressing "add contact" on some dumb old smartphone, right? :)

    But when actually using the phone it's so gloriously easy. If you want to call Duncan, for example, you'd switch the mode switch to ALT, dial 3, then dial 2 while holding the "call contact" key. You'll find that this procedure is much, much faster than calling a contact on a smartphone.



    Sky's Edge is a subsidiary of Lightsmith Scientific LLC. Wait, why? Because when I first decided to start a company I decided on the name Lightsmith Scientific and formed it as an LLC. A few years later I thought of Sky's Edge, which comes from an Alastair Reynolds book, and liked it much better. So on paper Lightsmith Scientific has a "DBA" in NY state for doing business as Sky's Edge. Also, if someone who knows business could let me know if it's right to use the word "subsidiary" in this context, I'd appreciate an email.
    ~Justine Haupt