1337 3310 tool demo video and sources online!

20150103_172536This article is part of a larger project to build a multi-purpose board that can replace a Nokia 3310′s mainboard.

The first prototype of the device is finally completed! Here’s a brief recap of what have been done and what’s planned for the future.

First of all, check out the video showing the progress so far:

The good:

– I implemented the feature I wanted the most, that is the multimeter with simultaneous current and voltage measurements, with instant and average power consumption graphs to estimate battery life of my projects

– My nerdiness is quite satisfied by the UI similarity with the Nokia original design

– I love the continuity function playing the Nokia Tune

– I paid a tribute to Sprite_tm with the Tetris addon

– I’m working on a better, more powerful version of the device using the Teensy, with Bluetooth 4.0 smartwatch functions.

– I wrote and published >2000 lines of code, most of the stuff can be reused

– There’s now an Open Hardware Eagle library to replicate the Nokia 3310 PCB!

The bad:

– I spent WAY too much time creating tools to extract the original bitmaps and fonts from the original Nokia Firmware. My inner nerd is very satisfied, but this left me no time to add other interesting functions like the scope, the serial sniffer and the ESP8226 integration before the contest end

– Besides, I have no space left on the Trinket:

– I couldn’t get the TVBgone function to work, maybe it’s a conflict with the timers used in the Tone library

– The LiIon battery charger I ordered is stuck in a post office somewhere; once I get it, it’s just a matter of connecting it to the header and I will be able to charge the battery from the Trinket’s USB port

The ugly:

– I really need a gold plated PCB to get the original Nokia buttons to work decently

– The code to extract the fonts from the original firmware is horrible and not commented

– There’s a bit of noise in the input stage. That is due mostly to the long routing of the signals, as some components like the Trinket, the button pads and the backlight LEDs can’t be moved around to optimize the board.

<(°-°<) Build it! (>°-°)>

So, do you still want to build it? Here’s a step-by-step introduction:

  1. Get all the design files from the main repo: https://github.com/mastrogippo/1337-3310-tool
  2. Build the hardware!
  3. Download the firmware, binaries and tools from here: NokiaPack
  4. If you’re lazy go to step 10, if not read on to generate the Font and Bitmap binaries yourself
  5. Use the PPM editor in the NokiaFirmware folder with the .fls file to export the .pef file with the fonts and a folder with all the bitmaps in the original firmware
  6. Get the Bitmap converter: https://github.com/mastrogippo/BitmapToBinary
  7. Place the bitmaps in the “bmp” folder with the BitmapToBinary exe, run the program, select the bitmaps to include and click “Gen”
  8. Get the PEF Fonts tool: https://github.com/mastrogippo/PEF-Fonts
  9. Place the font PEF file in the same folder as the PEF Fonts executable, run it to generate the font binaries, save them and the listed offsets
  10. Get the EEPROM upload tool: https://github.com/mastrogippo/Arduino-EEPROM-Upload
  11. Upload the sketch to the Arduino (if you have all the hardware conneted, upload the 1337 3310 sketch uncomenting the #define EEWRITE)
  12. Copy all the bin files to the EEPROM uploader folder and run it (change the serial port in the code if needed)
  13. Upload the binaries, then click any phone button to end the write process if you’re using the 1337 3310 sketch; the phone will beep
  14. Comment again the #define EEWRITE and upload the sketch
  15. ???
  16. PROFIT!!

Leave a Reply

Your email address will not be published. Required fields are marked *