Close
0%
0%

Linkia

Tiny Linux handheld with LoRa+WiFI+BT connectivity.

Public Chat
Similar projects worth following

▲Latest censor attempt by Nokia Corporation.

▲Support by Hackaday staff.


Note: This is NOT a custom ROM for Nokia phones. It is a freshly designed PCB with exactly the same dimensions as the original PCB of the Nokia phone, so it can be put in the Nokia's shell.

Last edit: 2023-09-15

This project is officially obsoleted.

Also please read my declarations on similar projects.

Hardware & Software design files are all open sourced on our GitHub repo, including:

  • Schematic, PCB and Gerber files
  • Complete BOM lists and SMT position lists
  • Linux kernel patches and Buildroot config
  • Related software code
  • Datasheets of rare components

The "Components" list here only shows the major components. View the BOM lists for a complete list of all components.

If you have any suggestions or questions, please join our discord server or send us an email.

Brief introduction

  • Nokia 168x shape: Easy to operate with one hand & fit in pockets easily
  • Runs mainline Linux
  • Processor: Ingenic X1000E, 2200+ CoreMark, 64MB RAM
  • Storage: 32MB NOR + 4GB SLC NAND
  • Connectivity: Lora, WiFi 2.4GHz, Bluetooth
  • Display: 2.0'' 240x320 IPS LCD, 3/4 visible
  • Audio: Yamaha MA-3 (YMU762) music synthesizer + Regular I2S PCM codec
  • Power: Battery management solution from TI, and standard BL-5C battery
  • Misc: Type-C OTG, RGB indicator LED, temperature & humidity sensor, powers on without battery, zero-conflict keypad

Why do we need it?

  • People who don't like HUGE smartphones do exist on this planet
  • Modern smartphones are becoming increasingly privacy unfriendly & hacker unfriendly, and the worst thing is: privacy is already a business for these businessmen:
    • There are many "privacy oriented" products on the market that aren't even designed by people with privacy awareness
    • And it's the same for hackability
  • Find more in the "Afterword" section in the end of this article

See it in action:

Form factor

The Notkia uses the Nokia 1680/1681/1682 form factor. Yes, it has a proper shell. The 1680 has a camera, and the other models don't. It can be comfortably operated one handed, no matter in public transport or in bed. Having it accidentally falling into your face won't cause extreme pain. It can be put in almost all pockets and bags without a problem, and won't scratch your clothes or pull your beach pants down.

▲ It can be comfortably operated with only one hand

▲ The weight is only around 66 grams

The main reason of we choosing the 168x series is because it has the largest inner space among all the feature phones we inspected so far. Its inner space is big enough to put a spring antenna inside! Also, its power connector has its own piece of plastic on the PCB, this means it can be changed to another type of connector without problems. However it doesn't look very pretty, and I hope we can get enough money to replace the plastic clip surrounding the charging port.

▲ I tried my best to make the Type-C surroundings look good

This design is only patented in US and AU, and will expire on 2023-06-23. After it's expired, we can produce brand new plastic cases based on this design, assuming the fundraising collected enough money.

Processor

The X1000E processor from Ingenic Semiconductor is used. It has a 1GHz MIPS32r2 core with 64bit FPU, and 64MB built-in LPDDR RAM.

Why the X1000E?

  • Very low power consumption: 0.3W running the CoreMark benchmark and 0.003W in standby
  • Acceptable performance: 2200+ CoreMark, a bit faster than the RPi Zero
  • Built-in RAM: saves PCB space, while enough to launch 16,384 Apollo 7s
  • Correct toolchain for it can be installed in minutes, not hours or days
  • Supported by mainline Linux kernel
  • Datasheets are publicly available: no more hide & seek with vendor

With some compiler tricks and a bit...

Read more »

Notkia_Everything_20221023.zip

Snapshot of https://github.com/SudoMaker/Notkia ; Contains everything: Schematics, PCB files, BOM lists, datasheets, and related software.

Zip Archive - 11.75 MB - 10/23/2022 at 10:26

Download

  • 1 × Nokia 168x shell / components You can buy them from anywhere. x = 0-2
  • 1 × SudoMaker Ingenic X1000E SoM You can buy it from us. Also opensourced; find in our GitHub repo.
  • 1 × HJ-6xLR SiP module of the Semtech SX126x LoRa chip. Visit hjsip.com.cn for more info.
  • 1 × CrossAir S01 SMD LoRa antenna, 433/470/868/915MHz.
  • 1 × JW-S-5012-A 2.0'' SPI IPS LCD w/ ST7789 chip from 金玮液晶显示. Please search it on 1688.com.

View all 17 components

  • Similar Projects

    Reimu NotMoe12/09/2022 at 10:56 0 comments

    These days I've noticed some similar projects which are appeared AFTER this project.

    For example: https://oshwhub.com/dr.zhang/Nokia1110-ESP32

    I have nothing to do with these projects. Thank you.

    Always imitated, never surpassed.

  • Now and future (2022-10-22)

    Reimu NotMoe10/21/2022 at 16:50 0 comments

    Time to make a conclusion of this project.

    Now

    As of 2022-10-22, here's the summary of the V2.0 hardware:

    Working:

    • LCD screen
    • Keypad
    • WiFi
    • RGB LED
    • RTC
    • USB OTG
      • Both Device & Host mode works
    • Power management
      • Battery gauging
      • Battery charging and OTG 5V boost
    • Audio
      • Only playback is tested. Both loudspeaker and earpiece work

    Partially working:

    • Bluetooth
      • Needs a jumper wire to connect 32kHz clock source to the AP6214
    • Suspend-to-RAM and wakeup
      • The old X1000 SoM doesn't have a 32k crystal, so it uses a lot more power
    • LoRa
      • The SX126x SiP module works, but the 433MHz antenna barely works

    Not working:

    • GPS
      • Subject to removal

    Future

    Name change

    The earlier name poll has a 4-way tie. So Idk.

    However, a staff from Hackaday showed their support of this project. So I'm not sure if the name still needs to be changed.

    Opinions are welcomed.

    New hardware reversions

    The V3.0 hardware is still being designed. TBH I don't have a lot of time recently.

    Nevertheless, all the design files will be uploaded to GitHub soon and you can hack it by yourself.

  • Dismissing the "new arch", the EVB, and Bitter fighting with Linux drivers (2022-10-09)

    Reimu NotMoe10/21/2022 at 10:27 0 comments

    Original date: 2022-10-09

    Related tweets: [1] [2] [3] [4] [5] [6] [7] [8]


    Dismissing the "new arch"

    Since the suspend-to-RAM works perfectly on the latest X1000 SoM, there are no strong reasons to keep a separate "EC" MCU anymore. But unfortunately I already bought 25 pcs of the PIC24 MCU, and they're EXPENSIVE. :(

    So I decided to let the X1000 do everything as before. But it's not easy because of the missing/broken Linux drivers...

    The EVB

    Despite I said that I'm "too lazy to draw a EVB" (lol), a proper EVB is still needed to verify its functionalities. So I drew one.

    Bitter fighting with Linux drivers

    Peripheral drivers

    I spent a week to get the Ethernet and I2S audio working.

    The DMA problem

    Early struggles

    If you read my tweets carefully in the last season, you can see I'm occasionally concerned by the "DMA problems" of the mainline kernel. And it's a very long story. Basically, it always give me a feeling that the DMA on the X1000 (and X1501) never worked correctly with the mainline kernel. This includes the standalone DMA controller (PDMA) and busmastering DMAs of certain peripherals.

    I first noticed this problem in 2022-06. The symptom is very confusing: if you use SLAB/SLUB for the Linux mm implementation, everything seems to be working, but if you use SLOB, visible kernel oops and panics will appear as soon as something started a DMA transfer. As someone who only had the experience of debugging driver problems on x86 processors at that moment, I don't have a single clue about what happened. The SLOB allocator has bugs? Unlikely. The DRAM KGD is broken? No, everything is fine with Ingenic's old 4.4 kernel. Then there must be the problem of the DMA implementation itself.

    We started by enabling a few memory debugging options of the kernel that scans its data structures constantly for corruption, and only enable the DMA of one peripheral at a time. But the results were inconclusive. The memory corruption sometimes happens, sometimes don't. I originally suspected that it's the "INCRxx" setting of the AHB bus of these busmastering peripherals that caused these problems, but setting to a lower value only let the data corruptions happen less, and they're not entirely eliminated.

    What else can I suspect? The only remaining thing would be the cache management code of the Linux kernel. I started reading the code in Ingenic's old 4.4 kernel, and yeah! It must be the problem! So I asked in the linux-mips mailing list:

    In the past month, I was struggling with random memory corruptions and crashes on the Ingenic X1000. After some detailed testing, I need to point out, the current cache management routines seems to be incorrect for X1000, and maybe all X series SoCs. It mainly affects DMA operations. Every form of peripheral to RAM transfer will corrupt the RAM, and this includes the dwc2 and SFC's DMA and the PDMA controller. If all the DMAs are disabled (e.g. hard coding dma_capable = false in dwc2), it will be fine running CPU and I/O benchmarks for a week. If you have the hardware, you can enable the kernel data structures & memory debugging and see for yourself.

    So I went back and looked at Ingenic's old 4.4 and 3.10 kernel sources. They used a separate file (sc-xburst.c) for the cache routines, which is based on an very old sc-mips.c. And there are two important macros, called MIPS_CACHE_SYNC_WAR and MIPS_BRIDGE_SYNC_WAR. They're both set to 1. However these macros are removed from the kernel long time ago. The line `mips_sc_ops.bc_wback_inv = mips_bridge_sync_war;' seems to be the key point.
    Do you have any recommendations of what could be done to fix this problem?

    And sadly, no one seems to be interested in this topic. I'm on my own. But I don't have the expertise. This incident also severely prevented the launch of another project of mine, the X1501 Pico SoM. I had no choice but to suspect the SLOB allocator really has problems.

    Time flies

    It's finally October (2022-10). And the DMA...

    Read more »

  • Received the new X1000 SoM, and ... Voilà ! (2022-09-07)

    Reimu NotMoe10/21/2022 at 10:11 0 comments

    Original date: 2022-09-07

    Related tweets: [1] [2] [3] [4] [5] [6]

    TL;DR it's awesome! I'm so happy!

    So I received the new X1000 SoM from JLCPCB. Surprisingly, the quality is good enough. They got everything right, including the 0201 passive components, 1612 crystals, XDFN-4 LDOs, and the 0.8mm BGA X1000. Nice.

    And then, I can't wait to test if it works, so I used the jumper wires exactly like last time (lol). Smoke test passed, USB bootloader recognized, and firmware flashing works. Good. So then I built a new kernel image with the RTC clock workaround code removed. And... and !! The suspend-to-RAM FINALLY WORKS!!!! I used a USB multimeter to measure the power consumption, and it's ONLY 0.003W!!!! This means the X1000 itself can standby for more than a month on a 1000mAh Li-ion battery!!

    Did you ever noticed that I actually soldered all SPI flashes upside down? It's embarrassing bruh ,-,

  • Finished designing the new X1000 SoM (2022-08-29)

    Reimu NotMoe10/21/2022 at 09:34 0 comments

    Original date: 2022-08-29

    Related tweets: [1] [2] [3]

    I finished designing the new X1000 SoM, and the main changes were:

    • Added 32k crystal for proper shutdown of the main clock domain
      • Let's hope the suspend-to-RAM will work properly this time!
    • Changed to a modern 2.2MHz buck DC-DC w/ PFM mode
      • It's supposed to use a lot less power when in idle
    • Form factor changed from castellated holes to LGA pads
      • Better mass production quality and the ability to V-CUT
      • Contributes to the mechanical strength of the underlying PCB better when soldered
    • Added clearance space for installing a metal cover
      • Provides a chance to improve EMI performance & mechanical strength even more

    It was submitted to the PCB factory in the same day.

    It's also worth noticing that this new SoM was not exclusively designed for this project. Now it can be used for other purposes, and even in harsh conditions like industry control (will industry control system designers ever choose a SoM with cute drawings on it? lol). All components on it are qualified for operating in -40 to 85 degrees. I also ensured that every wire has a near continuous ground plane this time.

  • RF Test board: Not so good, but... (2022-08-26)

    Reimu NotMoe10/21/2022 at 08:30 0 comments

    Original date: 2022-08-26

    Related tweets: [4] [3] [2] [1]

    I received the RF test PCB and soldered it. TL;DR It's not so good.

    I tried different placements and a few known pi matching networks (different values of inductors, caps, etc) for the new SMD 433MHz antenna. It's definitely better than the last reversion: the received RSSI is ~10dBm better in average, but no matter how I try, it's still ~15dBm worse than a common dipole antenna. But fortunately, its performance almost didn't change after I did the assembly simulation by putting it into a real shell, with the LCD screen and the BL-5C battery installed.

    The good news is, the 2.4GHz antenna is a great success. At least it outperformed the 2.4GHz antenna inside my smartphone. There's a thick wall built by cement + reinforcing steel between my room and the server room (which contains the WiFi AP, 20dBm TX power), and it has -45dBm RSSI. Bravo!

    I still feel disappointed. Or I shouldn't be too strict for such a "hobbyist project"?

    Another comforting news is, the manufacturer of the SMD 433MHz antenna offers free impedance matching service. But they said I need to give them the final reversion of the fully assembled device (i.e. not a bare PCB) because everything on/near the PCB affects the impedance. So this has to wait...



  • Attempted architecture redesign (2022-08-19)

    Reimu NotMoe10/21/2022 at 07:37 0 comments

    Original date: 2022-08-19

    Related tweets: [1] [2]

    The RF test PCB was submitted to the PCB factory. In the meantime, I was trying to redesign the architecture to mitigate the problems of the current design:

    • Power consumption is not low enough
      • It can't even reach the standby time of the original Nokia 168x now
    • Physical difficulties
      • Frequent kernel/rootfs changes are needed in the development stage. But currently it's really inconvenient to push the RESET button (which is behind the battery) and the BOOT0 button (which is the left func key of the keypad) at the same time.
      • The only UART connection is the 3 tiny little pads on the PCB. It would be hugely better if the serial console can be controlled via a built-in USB to UART.
    • Multiple missing Linux drivers
      • Many drivers isn't working properly

    So, the idea is to use a ultra low power MCU to act as the "EC" of this device. It's exactly the same definition of the "EC" in your PC or laptop. The MCU is supposed to do these things:

    • Extended power management
      • Controls the power supply of individual components on the board
    • Handle all LoRa communications
      • Power to the X1000 can be shut off entirely in standby mode
    • Keypad polling
      • Spares a PCA9555
    • Act as a USB to UART bridge
      • Life is a lot easier!
    • Control the RESET and BOOTx lines of the X1000
      • Boot device selection can be achieved using a USB CDC console then

  • Investigation of 433MHz RF design started (2022-08-17)

    Reimu NotMoe10/21/2022 at 07:13 0 comments

    Original date: 2022-08-17

    Related tweets: [0] [1] [2]

    In the previous logs and tweets, I said that I'm going to remove the 433MHz LoRa support. But who truly wants to do that?

    Since the 433MHz LoRa antenna was a complete failure, I designed a dedicated RF test PCB in exactly the same shape to test different antennas and the impedance match parameters & possible placements of them.

    This PCB contains antenna slots of both 433MHz and 2.4GHz, a simple PIC32MM MCU, and the SiP LoRa module. Future tests will be conducted by a proprietary software designed by me on the PC.

  • May got censored by Nokia Corporation

    Reimu NotMoe06/30/2022 at 11:59 5 comments

    Bad news: Nokia Corporation said the name "Notkia" is an infringement of their rights.


    See this tweet for more information. Spread the word if you feel you want to.

    WE WILL CHANGE THE NAME. New name suggestions are welcomed.

  • Project update: 2022-06-30

    Reimu NotMoe06/29/2022 at 20:06 0 comments

    Read the complete update if you're a patient human being.

    Progress Overview

    • Hardware
      • Most essential components are verified working
      • There are some difficulties with RF sections
      • The v3.0 PCB is being designed
      • Introduced the idea of “accessories”
    • Software
      • Minor tweaks of the Linux kernel configuration
      • Investigation of the suspend-to-RAM process is started
    • Fundraising
      • This project is accepted by Crowd Supply
      • We’re negotiating with them

    PCB version 3.0 ChangeLog

    • Removed: GNSS section
      • a quad protocol GNSS receiver BLE accessory will be available
    • Removed: LoRa spring antenna
      • will revert to Nokia 168x’s original antenna with quad GSM bands
      • a LoRa transceiver accessory with external antenna will be available
    • Removed: internal 5MP AF camera
      • an 13MP AF camera USB-C accessory will be available
    • Added: built-in UART to Bluetooth for easier hacking
    • Change: SPI NOR changed to W25Q512
    • Bugfix: add power sequencing MOSFET to meet SD NAND’s VDD rise time requirement
    • Bugfix: AP6214 Bluetooth needs 32.768kHz clock to work
    • Bugfix: AP6214’s VBAT should be connected to VSYS, not 3V3, for better power efficiency
    • Bugfix: More capacitance on 3V3 rail to prevent LCD backlight knocking out the BQ25895 without battery

View all 11 project logs

  • 1
    Prepare everything

    Download the Gerber and SMT related files from our GitHub repo, and produce them at any PCBA factory you like.

    Most components can be bought from Mouser, DigiKey, and AliExpress easily.

    For these rare components, the way to buy them is documented in the "Components" section, and their datasheets are also uploaded to our GitHub repo.

  • 2
    Solder the components on the back

    If you have good soldering skills, you can only SMT the small parts and do the rest by yourself.

    For the V2.0, if you need WiFi & BT to be working, solder a jumper wire from RX8900CE's FOUT pin to AP6214's LPO.

  • 3
    Solder the LCD screen

View all 18 instructions

Enjoy this project?

Share

Discussions

zyndram wrote 06/30/2023 at 08:09 point

Project are death? 

  Are you sure? yes | no

Ale o co chodzi wrote 06/05/2023 at 12:16 point

meybe adopt https://www.lilygo.cc/products/t-deck

or similar

  Are you sure? yes | no

Reimu NotMoe wrote 09/17/2023 at 04:41 point

🤡

  Are you sure? yes | no

Ale o co chodzi wrote 09/17/2023 at 09:03 point

?

good keyboard from blackberry, good screen , why not?

  Are you sure? yes | no

jlhgold wrote 04/28/2023 at 01:37 point

for ultra small 4G module,is it possible to use openluat AIR700E(here is the offical website https://air700e.cn but in chinese),it looks very small

module size
(13.45±0.15)mm x (10.5±0.15)mm x (2.3±0.15)mm

  Are you sure? yes | no

Nazwa wrote 10/31/2022 at 21:48 point

is possible add emergency source (input) power from AA or 18650 or any 0-5V ? (for example solar panel?)

  Are you sure? yes | no

leo60228 wrote 09/08/2022 at 16:02 point

I assume you've already looked, but is the nRF9160 not even smaller than the A7680C?

EDIT: While researching something else, I found the Murata LBAD0XX1SC which is even smaller. However, it doesn't seem to be easily available, while the nRF9160 is stocked by Digi-Key.

  Are you sure? yes | no

trax wrote 08/10/2022 at 07:07 point

Very cool project. Just like many others, I have been thinking about the same thing for years.

BTW some name suggestions:

- Nuki

- Nooki

- Nookie

Some variations with "L" for Linux as well as for LoRa:

- Looki

- Lokia

  Are you sure? yes | no

Giovanni wrote 09/08/2022 at 18:57 point

I like Suzukia.

  Are you sure? yes | no

opencomputedesign wrote 08/01/2022 at 05:44 point

This is so cool! I've been looking for almost exactly this for so long!

I'd love (assuming I can muster the skills) to "port" this board to other Nokia Chassis (I'm a huge fan of sliders and clamshells).

In any case, I'm so excited at the prospect of getting my hands on one :)

  Are you sure? yes | no

Elliot Williams wrote 07/21/2022 at 07:08 point

I'm not a lawyer, but Nokia's scare letter referenced our terms of use here and suggested that we might think that you are in violation.

We don't. 

We think Nokia is overstepping, and that they should back down.  An apology wouldn't hurt, either.  

This project is pretty clearly Not endorsed by Nokia.  :)

  Are you sure? yes | no

Reimu NotMoe wrote 07/21/2022 at 13:57 point

Thank you. It seems that you're a Hackaday staff. Do you think this project can still participate in your competition despite Nokia's efforts to take it down?

  Are you sure? yes | no

Elliot Williams wrote 07/27/2022 at 12:48 point

Yeah, sure!  

  Are you sure? yes | no

growntree wrote 07/11/2022 at 22:29 point

How about aikon as a name as it has the same Nokia tribute if you can read backwards, but can't be confused with actually being Nokia. 

  Are you sure? yes | no

tywy wrote 08/02/2022 at 12:51 point

aikton

  Are you sure? yes | no

Giovanni wrote 07/07/2022 at 02:51 point

https://www.sparkfun.com/products/17506 would be interesting to maybe use something like the Mudita OS (runs on Cortex M7) on an Ambiq Apollo (Cortex M4) and use Lora for SIP phone or SMS :)

  Are you sure? yes | no

Giovanni wrote 07/07/2022 at 01:15 point

I really like this project because of the many Nokias I've used and still use since my Nokia E51 way back in 2007. About 18 months ago I explored the possibility of running linux on a 4MB RAM microcontroller that runs on ultra low power 6microamps/mHz. We were looking to develop a bootloader that could be ported to something like the Ambiq Apollo 4, which can support that amount of RAM with little no additional SPI added. https://github.com/EI2030/Low-power-E-Paper-OS/blob/master/wiki/tri-design-approach.md We have a Zulip server, where I posted the CNX article covering your project https://ei2030.zulipchat.com/register/

  Are you sure? yes | no

powiadam.ci wrote 07/01/2022 at 10:49 point

new name : "Unicus" like a unix, unices but some other.

  Are you sure? yes | no

Johannes Brakensiek wrote 06/27/2022 at 08:03 point

Regarding the OS and GUI I'd like to point your interest to Letux and mySTEP. The latter is a GNUstep fork which once worked on the OpenMoko devices and is licensed under LPGL. Creator is the German company Goldelico. https://github.com/goldelico/mySTEP

  Are you sure? yes | no

powiadam.ci wrote 06/24/2022 at 18:46 point

anybody have a stl enclosure?

  Are you sure? yes | no

Maciej Sopyło wrote 06/22/2022 at 11:04 point

Cares about privacy and "companies spying on people"

Uses discord

...

  Are you sure? yes | no

Reimu NotMoe wrote 06/29/2022 at 17:52 point

I use BitMessage as well. You want to chat on that?

  Are you sure? yes | no

powiadam.ci wrote 06/19/2022 at 17:30 point

Meybe adding a second USB A host ? (near usb C) or C HOST

keyboard similar blackberry or jio 2 ? No need increase screen. normal put it horisontaly

  Are you sure? yes | no

Nazwa wrote 06/19/2022 at 14:37 point

LoRa is definitely a good idea (lora+wifi of course ;-) )

Meybe add small solar panel or 3d printer enclosure  and normal 18650 battery (not replace but aditional) or AA or 18650

  Are you sure? yes | no

Adam Quantrill wrote 06/19/2022 at 11:44 point

Looks very interesting! If it wasn't for my eyesight getting worse, and I need s bigger screen these days, I'd be up for one. I know you aren't for "centralised" networks, but have you looked at the small LTE modules available these days e.g. https://www.u-blox.com/en/product/alex-r5-series? Of course you would also need s SIM socket.

  Are you sure? yes | no

Giovanni wrote 07/07/2022 at 02:50 point

maybe an e-ink phone like the Mudita but running linux.

  Are you sure? yes | no

Linzi wrote 06/16/2022 at 04:33 point

If the crowdfunding starts, I will buy one

  Are you sure? yes | no

nameisg wrote 06/09/2022 at 13:00 point

what do you think if you change the design to a nokia e72, it will have more space and easy QWERTY keyboard for operations

  Are you sure? yes | no

Nazwa wrote 06/19/2022 at 14:34 point

I like blackberry keyboard (bigest battery will be fit) or today jio 2 keyboard. Meybe You can found enclosure  https://www.kaiostech.com/devices/jiophone-2/

  Are you sure? yes | no

Ale o co chodzi wrote 06/17/2023 at 17:09 point

look this https://beepberry.sqfmi.com/

no solar power included ;)

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates