Difference between revisions of "WiPhone"

From Hackerspace ACKspace
Jump to: navigation, search
(some initial links)
m (added OMG link)
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{Project
 
{{Project
|Featured=No
+
|Featured=Yes
 
|State=Active
 
|State=Active
 
|Members=Vicarious, Stuiterveer, xopr
 
|Members=Vicarious, Stuiterveer, xopr
 +
|GitHub=WiPhone_build
 
}}
 
}}
 
Yay, [https://wiphone.io WiPhone!]
 
Yay, [https://wiphone.io WiPhone!]
* Read [https://wiphone.io/docs/WiPhone/latest/ documentation here]
+
 
* Report bugs at https://github.com/ESP32-WiPhone/wiphone-firmware/issues
+
{{InfoBox
* Enable/disable automatic firmware settings at <code>Menu</code> &raquo; <code>Settings</code> &raquo; <code>Firmware settings</code>
+
|Type=alert
 +
|Title=Be cautious charging the  WiPhone on a Xiaomi Mi Power Bank 3 Pro
 +
|Text=[[User:Xopr|xopr]]'s WiPhone broke down: his guestimates are that the device in USB-A port 1 that supported adaptive charging might bring the second USB-A port to 9V or 12V (out of spec), which in this scenario will fry the CP2104 USB-UART chip when you would plug it in second, no matter how short the time frame would be.
 +
}}
 +
__TOC__
 +
 
 +
=== custom firmware ===
 +
you can use the ACKspace modified firmware by setting <code>https://ackspace.nl/WiPhone/WiPhone.ini</code> into the ota.ini file (or via the telephone)
 +
Current applied patches:
 +
* LoRa 868MHz
 +
* ackspace.nl fake NAPTR (hardcoded IP)
 +
* fix fiddly unlock (mentioned [https://github.com/ESP32-WiPhone/wiphone-firmware/issues/28 here])
 +
 
 +
Work in progress:
 +
* LoRa menu (currently crashes the phone, don't use)
 +
 
 +
 
 +
=== notes ===
 +
* read [https://wiphone.io/docs/WiPhone/latest/ documentation here]
 +
* report bugs at https://github.com/ESP32-WiPhone/wiphone-firmware/issues
 +
* enable/disable automatic firmware settings at <code>Menu</code> &raquo; <code>Settings</code> &raquo; <code>Firmware settings</code>
 +
* before you use LoRa, make sure to edit <code>Hardware.h</code>, look for <code>RF95_FREQ</code> and set it to 868MHz for EU:
 +
:<code>#define RF95_FREQ 868.0</code> ([https://github.com/ESP32-WiPhone/wiphone-firmware/issues/24 See this (somewhat sparse) issue])
 +
* enable UDP by adding <code>u=UDP_SIP</code> to an account in <code> data/sip_accounts.ini</code> (not yet tested)
 +
* Test LoRa functionality with ([https://github.com/1technophile/OpenMQTTGateway/pull/1458 upcoming change] for) [https://docs.openmqttgateway.com/ OpenMQTTGateway]
 +
 
 +
== Get started ==
 +
* download source code
 +
* run <code>V="0.8.30"; unzip WiPhone-$V && rm -fr WiPhone && mv WiPhone-$V WiPhone</code>
 +
* open <code>WiPhone/WiPhone.ino</code> using Arduino
 +
* once: set up IDE (see [https://wiphone.io/docs/WiPhone/latest/technical_manual/software/programming_manual.html documentation] for details):
 +
** Open preferences ({{K|CTRL}}+{{K|,}}) and add https://wiphone.io/static/releases/arduino_platforms/package_WiPhone_index.json (comma separated) into Additional Boards Manager URLs
 +
** go to Tools &raquo; Boards &raquo; Board Manager and install <code>WiPhone</code>
 +
** Arduino option Tools &raquo; ESP Sketch Data Upload: download [https://github.com/me-no-dev/arduino-esp32fs-plugin/releases/download/1.0/ESP32FS-1.0.zip ESP32FS-1.0.zip] into the ~Arduino/tools directory with <code>mkdir -p ~/Arduino/tools && unzip ESP32FS-1.0.zip -d ~/Arduino/tools</code>
 +
** TODO: esptool.py serial: <code>sudo pip install pyserial</code> (check your default python version)
 +
* Select Tools &raquo; Boards &raquo; Wiphone &raquo; Wiphone arduino
 +
* compile with ({{K|CTRL}}+{{K|r}})
 +
 
 +
=== custom mods ===
 +
 
 +
==== command line build ====
 +
The provided [[GitHub::https://github.com/ACKspace/WiPhone_build|repo]] contains several patches and a semi-automated build/upload process to create your own custom binary (without opening the Arduino IDE)
 +
This includes:
 +
* caret cursor color fix
 +
* lockscreen fix (mentioned [https://github.com/ESP32-WiPhone/wiphone-firmware/issues/28 here] as well)
 +
* LoRa 868MHz, menu is WIP
 +
* ackspace.nl fake NAPTR (hardcoded IP)
 +
* loudspeaker fix (mentioned [https://github.com/ESP32-WiPhone/wiphone-firmware/issues/3 here])
 +
 
 +
==== FSBrowser app ====
 +
Work in progress by [[User:stuiterveer|stuiterveer]]
 +
 
 +
==== NFC reader ====
 +
Work in progress by [[User:Vicarious|Vicarious]]
 +
 
 +
==== 5V injector ====
 +
To charge the Wiphone (with 5V, including charging indicator), without using USB (since [[User:Xopr|xopr]]'s UART is broken), he soldered 2 cables with female dupont ends to the 5V rail (not VBUS).
 +
With troubleshooting, he also noted some useful pads/components, more or less reversed engineered: [[Image:wiphone_testpads_components.svg]]
 +
 
 +
Here is the result
 +
<gallery>
 +
Image:wiphone_5v_solder.jpg|Ground on the bottom pad indicating "-" 5V on the left side of the "big" resistor above the right pogo header (not yet done in the picture) Dabbed in hot glue on the solder joints and strategically slightly right/above the center polycarbonate bridge (not in picture)
 +
Image:wiphone_5v_fit.jpg|Wifi antenna cover just fits on top. Dabbed in hot glue: strategically slightly right/above the center polycarbonate bridge
 +
Image:wiphone_5v_cover.jpg|Female dupont connectors fit nicely through the QWIIC slot on the LoRa daughter board.
 +
</gallery>
 +
 
 +
 
 +
=== LoRa ===
 +
* [https://github.com/meshtastic/Meshtastic/blob/64a479172088b1803feefd61cd616c2eb4913b76/docs/developers/Firmware/radio-settings.mdx Meshtastic radio-settings]
 +
* [https://cdn.sparkfun.com/assets/learn_tutorials/8/0/4/RFM95_96_97_98W.pdf RFM 95/96/97/98 datasheet (pdf)]
 +
* [https://learn.adafruit.com/radio-featherwing/using-the-rfm-9x-radio Adafruit Using the RFM9X Radio]
 +
* [https://www.airspayce.com/mikem/arduino/RadioHead/classRH__RF95.html RadioHead RH_RF95 Class Reference]
 +
* [https://www.rfwireless-world.com/Tutorials/LoRa-channels-list.html LoRa channels]
 +
* [https://www.baranidesign.com/faq-articles/2019/4/23/lorawan-usa-frequencies-channels-and-sub-bands-for-iot-devices LoRaWan US channels]
 +
* [https://lora-developers.semtech.com/documentation/tech-papers-and-guides/lora-and-lorawan/ Semtech information page]
 +
 
 +
[[Category:LoRa]][[Category:Telephony]][[Category:ESP32]][[Category:Arduino]]

Revision as of 21:14, 17 February 2023

Project: WiPhone
Featured: Yes
State Active
Members Vicarious, Stuiterveer, xopr
GitHub WiPhone build
Description
Picture
No project picture! Fill in form Picture or Upload a jpeg here

Yay, WiPhone!

Be cautious charging the WiPhone on a Xiaomi Mi Power Bank 3 Pro
xopr's WiPhone broke down: his guestimates are that the device in USB-A port 1 that supported adaptive charging might bring the second USB-A port to 9V or 12V (out of spec), which in this scenario will fry the CP2104 USB-UART chip when you would plug it in second, no matter how short the time frame would be.

custom firmware

you can use the ACKspace modified firmware by setting https://ackspace.nl/WiPhone/WiPhone.ini into the ota.ini file (or via the telephone) Current applied patches:

  • LoRa 868MHz
  • ackspace.nl fake NAPTR (hardcoded IP)
  • fix fiddly unlock (mentioned here)

Work in progress:

  • LoRa menu (currently crashes the phone, don't use)


notes

#define RF95_FREQ 868.0 (See this (somewhat sparse) issue)
  • enable UDP by adding u=UDP_SIP to an account in data/sip_accounts.ini (not yet tested)
  • Test LoRa functionality with (upcoming change for) OpenMQTTGateway

Get started

  • download source code
  • run V="0.8.30"; unzip WiPhone-$V && rm -fr WiPhone && mv WiPhone-$V WiPhone
  • open WiPhone/WiPhone.ino using Arduino
  • once: set up IDE (see documentation for details):
    • Open preferences (CTRL+,) and add https://wiphone.io/static/releases/arduino_platforms/package_WiPhone_index.json (comma separated) into Additional Boards Manager URLs
    • go to Tools » Boards » Board Manager and install WiPhone
    • Arduino option Tools » ESP Sketch Data Upload: download ESP32FS-1.0.zip into the ~Arduino/tools directory with mkdir -p ~/Arduino/tools && unzip ESP32FS-1.0.zip -d ~/Arduino/tools
    • TODO: esptool.py serial: sudo pip install pyserial (check your default python version)
  • Select Tools » Boards » Wiphone » Wiphone arduino
  • compile with (CTRL+r)

custom mods

command line build

The provided repo contains several patches and a semi-automated build/upload process to create your own custom binary (without opening the Arduino IDE) This includes:

  • caret cursor color fix
  • lockscreen fix (mentioned here as well)
  • LoRa 868MHz, menu is WIP
  • ackspace.nl fake NAPTR (hardcoded IP)
  • loudspeaker fix (mentioned here)

FSBrowser app

Work in progress by stuiterveer

NFC reader

Work in progress by Vicarious

5V injector

To charge the Wiphone (with 5V, including charging indicator), without using USB (since xopr's UART is broken), he soldered 2 cables with female dupont ends to the 5V rail (not VBUS). With troubleshooting, he also noted some useful pads/components, more or less reversed engineered: File:Wiphone testpads components.svg

Here is the result


LoRa