Parts Suggestions (NETMF Phone +)

Well, here comes a Skewworks project that’s not all about the GUI. Inspired by the attached picture, I’m making a full fledged NETMF cell phone. Yes it will have other features and yeah it’s totally going to be Fallout themed and resemble the Pipboy 1.0 in the picture, but the first thing it will be is a phone.

I’ve grabbed a pair of 3x4 keypad matrix boards (1-9, *, 0, #), the left one working to dial the phone and perform T9; the right used to perform system and navigation functions. I also have an Adafruit Fona 800 starter pack which includes the GSM module, mic, speaker, etc.

I have a billion boards and displays here though, and I’m trying to figure out what’s best suited.

Display Options: T43, T35, TE35, 4D Systems serial OLED.
Board Options: G400HDR, Spider, Cobra 1 - 3, Hydra, Raptor, Panda 1-3, Reaper, Lemur.

I’m probably even leaving boards out. Keep in mind, I need a LOT of pins. 14 just for the keypads, a few more for the GSM, a Geiger counter will be added later, 3 buttons for mode selection.

Right now I’m leaning towards the HDR w/ TE35, but the HDR is discontinued and it’d be nice if others could replicate the project in the future. So maybe the Cobra 3, but that would limit me to the 4D Systems screen…

1 Like

Are you looking for plug and play only boards, if so I would suggest here ?
For the LCD I have used this place for 5 years now, and recommend them highly.
I personally LOVE the capacitive touch option ones.

You can also get the LCD’s by themselves some with optional high speed SPI interface.

Also, using this chip with I2C will cut your I/O down significantly for the keyboard matrix.

Newhaven 5" CAP TOUCH. Lovely little display. Or even the 4.3 if you want smaller. Not used that one but if as good as the 5" and 7" it will work great.

Just wanted to share with everyone, I made my first NETMF powered phone calls tonight!


After a bit of “fixing things with a hammer” I finally managed to get my 3D printer back in working condition late yesterday. Let the millions of prints needed for this thing commence!

Here’s the first print along with some screen designs. :slight_smile:


So, 3D printer is being a pain and I’m not spending another cent on this project. Therefore I made it into a portable terminal w WiFi and Cell.

Keypads need wiring up, but here it is so far. ;D


@ Skewworks - Looks brilliant - Can you take a close-up of the Fona connections?

@ Skewworks - Like it!

Does the briefcase comes with a pair of handcuffs?

that’s a real pretty ui

Picture to follow but here are the connections

Net PIN7
Pwr PIN8
Key PIN9
5V 5V

The 5v on the extender to the 5v on the FONA is critical. It uses this for its automatic level conversion, serial connection won’t work without it.

When it was originally going to be a pipboy 1.0 the graphic called for a 4x4 matrix, couldn’t find one so I used 2 3x4 matrix keypads. The left controls T9 input and dialing; the right controls system functions (up,down,left,right, etc).

1 Like

Here’s the close up of the FONA module connections and some screens.


It would be nice if your phone had a software defined radio.

It has an actual FM tuner. :wink:

Great stuff. Makes sense, except for the thin black wire going from the lipo-connector to the mic…?

Its tempting to ask for a video of the awesomeness?

@ njbuch - The mic is actually just glued to the JST to keep it in place, no wire is connected. The leads go to a spot near the center of the board.

I’m getting close to a video, doing screen work now. I’ve already got the status and dialing screens done and all the functionality for calls and SMS, but more interface work needs doing.

I’ll be posting the driver when it is complete. Should be compatible with the 800, 808 and the new 3G model.

My new favorite line of code:

1. Button is being automatically sized based on font & text
2. Button is automatically being placed at the bottom right of the parent
3. A margin of 4 pixels are all sides are being added to the button

Margin constructor is the same as XAML:
Margin(int size)
Margin(int horizontal, int vertical)
Margin(int left, int top, int right, int bottom)