Build logs here: https://hackaday.io/project/159811-esp32-wiphone
YouTube videos showing the phone working: https://www.youtube.com/channel/UCUi0AFZymOmszc-LLFISStQ
892 karma · joined January 29, 2018
My sweet spot is leading a project from "no implementation spec but clear end goals" to a real supply chain shipping real products.
20+ years designing and building hardware, 10+ years building physical stuff in Shenzhen.
www.sizeabledesign.com www.mzjtechnology.com
Build logs here: https://hackaday.io/project/159811-esp32-wiphone
YouTube videos showing the phone working: https://www.youtube.com/channel/UCUi0AFZymOmszc-LLFISStQ
It's also not a phone you can buy today, should we put a disclaimer about it not being a real device either?
If the project gets big enough we may split it into 2 versions, one Arduino and one with a proper RTOS.
That said, at this level using interrupts and a state machine is pretty workable, so I wouldn't say multiple threads are a must. Would probably make it easier for regular programmers to pick up and start developing with, though.
As a side effect of that there are some properties related to security that you get for free (no tracking cookies, no black box cellular radio), and others, like encryption, that we will try to add if we make enough to fund doing it. But we won't feature creep the project and risk never delivering just to check a box that's not part of our core goal.
The phone is for people who want hardware that can be used for hacking. We don't have any code that does anything related to tracking in the phone, and once it's released anyone can verify that.
That page is static, so I don't see how https is relevant.
Right now there is no security whatsoever. We are still getting the system to work, and work reliably. If enough people buy one we will probably add some sort of transport layer encryption.
For now this is a realistic goal. We'll see what happens after.
We aren't designing a phone, we're designing a device that allows hardware and low-level firmware hackers to do the things we want to do with phones, but can't due to being effectively locked out of modern smartphones.
That said, it should work perfectly fine as a home or office phone, or as a light-duty mobile one.
Longer reply here: http://a.wiphone.io/#but-i-need-my-gsmcdmalte
One of the other guys that's working on this has a list of a few providers that offer a free account and work with the WiPhone. I'll see if I can post it once he's here.
Apps: The end goal is to embed a Python interpreter in the firmware, and then it would be a matter of interacting with an API in Python. Right now it's C++.
I'm not sure what you mean by "connect an API for a smartphone to an Arduino". Do you mean: What does the plumbing look like between the code that calls the API and some physical pin?
The point is simple: For the same unit costs, if you get your payment cycle time down, you will make more money.
It's a mathematical example showing what happens in extreme cases, so that it's easier to spot the trend. Nothing to do with advertising specifically.
Having access to all the comforts all the time is for the part of your life spent in civilization.
Some people may not really want to, which is fine. They are probably the same ones who would find the lack of showers a deal breaker.
A decent marine battery is reliable and can carry enough power to run a laptop all day. No need to idle an engine... you can charge it while you're driving. I agree on the generator people. No better way to take the suburbs out to nature.
A few more things to add:
- Get used to constantly keeping your stuff in order. It takes about 5 minutes to turn your tiny little living area into a mess. And the day after that you are living in a dumpster.
- Don't leave anything visible from outside the vehicle. I mean absolutely nothing can be seen if you look in a window. I have no proof on this one, but nobody stole anything from me or messed with the vehicle while I was away (sometimes for a few days in the backcountry), and I attribute it to not looking like somebody was living in the vehicle and nothing valuable might be inside.
- Make sure your head is pointed uphill when you park and make sure your mattress is comfortable. No sense in getting long term bad sleep.
- Buy an older van (or in my case a crew cab pickup with a camper shell).
- Add some storage space and a bed. This can be as simple as a few plastic storage containers and a foam mattress.
- Add an inverter, a marine battery, and if you really want to get fancy a relay to disconnect it from the main system when the vehicle isn't running. No solar panels needed, just let the alternator charge it.
That's it. Spend the rest of the time figuring out how to live with your self without social media.
There are a lot of things you can do to simplify your life, if you don't have to bring your first world standards with you: - Don't use any electronics that need constant power. Don't buy stuff that needs to be refrigerated, but do get fresh fruit and vegetables if you can eat them within a few days of buying.
- Piss in a bottle and figure out how to be near enough to either a bathroom or real wilderness for other situations. It's not that hard with a little planning.
- Shower less often, mostly in campgrounds. You will stink more, but get over yourself.
- Bring a lot of books/ebooks or something interesting to study.
- Walmart parking lots are great places to park and sleep if you are en-route somewhere and just need some rest. They usually allow overnight parking and won't bother you (local ordinances can sometimes cause exceptions).
- Learn how to brush your teeth and wash dishes without using lots of soap and water. You can actually clean and rinse a dirty pan with about a cup of water and a tiny drop of soap.
The western US is great for this since huge areas of the desert states are easy to move around in without much planning or permits.
Don't spend lots of time driving. Get somewhere and actually experience it. Don't plan too hard. Find some stuff you think would be interesting, get to good areas, then relax and explore. Schedules are only opportunities for disappointment and stress. Try spending a whole week without even taking pictures. Learn what is fun for you, not what you think makes your life look interesting.
I enjoy long periods of solitude so it wasn't a big problem for me, but I think most people would probably want to stay in campgrounds and hostels pretty often to get some socialization in.
I picked up hitchhikers a few times, which was usually fun, sometimes smelly, and always interesting.
Lots of libraries for various sensors and other applications, so if you do early stage development on hardware you can quickly throw prototypes together and not need to deal with sorting through a lot of mediocre Arduino stuff.
YMMV on keeping it for production use. Some parts of it should be fine for some applications. Other things not. I've run into issues with things like threads and timers not always working right for every library, but really that's par for the course on a system of libraries that diverse, and supporting so many different chips.
And from a system level view, business needs don't necessarily match those roles in whatever ratio people happen to naturally occur at. I'm going to go out on a limb and say there is a gross oversupply of people who like starting things but not finishing them.
As someone who hires and manages people, if I could somehow tap into a foolproof supply of people who are primarily motivated to grind away at any problem given to them until it's finished, and have just enough sense to be effective, but not enough to start solving problems just for the sake of the novelty I could probably take over the world in about 3 weeks.
Luckily those kinds of people are almost completely absent from the human species and it's fairly difficult to organize and achieve arbitrary goals without a lot of politics and people skills in addition to simple coercion and/or funds and a plan.
I'm assuming you aren't interested in info about how to build prototypes, but there are lots of examples scattered across sparkfun, adafruit, eevblog, hackaday, github, arduino and AVR forums, etc. with example designs and varying degrees of documentation and support. If you choose some dev platform like ESP8266/32, MBED, Arduino, etc. there is often a forum associated with it.
https://electronics.stackexchange.com/ is nominally what you are looking for, but the content is almost all on the design side vs. manufacturing. There are probably a few people on there who can answer the questions you probably want to ask. I have no idea how friendly they are.
I think the issue is compared to software, electronic goods are an incredibly expensive process to bring someone up to speed on, and there are orders of magnitude fewer english speakers doing it vs. programming. It pretty much requires producing multiple products in the real world before you are anywhere near ready to manufacture a product at any appreciable volume. Yes, that's a catch-22 for most people. Couple that with the needing to go overseas to make anything that's price sensitive, needing years to connect with a full array of reliable suppliers, and the guys who really do the work often speak a different language, and you don't end up with many people who can or want to sit online and gratis help out anyone who isn't already sending them purchase orders for thousands of units.
Consumer goods generally aren't profitable to manufacture until you're making 10k units or so. So most people who truly know how to do this sort of thing don't have the inclination to help someone who just wants to play and learn, or even someone who doesn't already have 95% of the skills to pull of a successful product. The fastest way to bankrupt a manufacturing company is to take on a bunch of jobs with halfway thought out engineering done by noobs who don't know how to move from step A to step B.
Seeedstudio offers a service where they will produce low volumes: https://www.seeedstudio.com/propagate/
Crowd Supply is sort of aligned with what you are after (they sell themselves as a crowdfunding platform who specializes in hardware projects and they vet your project for feasibility): https://www.crowdsupply.com/
If you just want a few pieces of something made, need this to be done in a finite amount of time, and you have some money to spend, I'd recommend hiring an experienced EE and make sure they can deliver some small quantity of tested-working boards as part of the contract.
1) If you will be using wifi/landline internet (vs. always tethering to your phone), get a paid VPN that advertises working through the GFW and make sure it works before you leave. YMMV, but I've tried SSH tunnels, shadowsocks, lantern, streisand, and probably a few other open/DIY methods. In my experience none of them work for more than a day or so before they start getting throttled or completely blocked. If you are constantly moving from one connection to another it might be different. Your results could also be different in a different area of the country.
2) Get a working foreign SIM that lists China somewhere in the contract, or buy a Hong Kong "cross-border" one (not a generic HK one, which will only work in HK)... they won't be blocked. The Hong Kong one will likely only work in Shenzhen and Guangzhou, but it's probably cheaper than setting up something based on a US SIM.
3) Don't worry about your laptop/phone unless you are a journalist or work at a target for industrial espionage (for example, FAANG)
4) Don't go out of your way to start controversy, but certain people can have interesting conversations about sensitive topics. Give it a little time and ease into it if you feel like you need to talk politics. Or if you have trouble reading people's emotions just skip it. Pretty much anybody with a graduate degree in a technology field would probably be happy to help you debug VPN issues if you're already friends with them.
And some not so much security as general survival topics:
5) "Boo yow lah jhaow" = quit putting those fucking Sichuan peppers in every single thing I order (YMMV in different areas of the country, but here in Shenzhen even cabbage isn't complete unless it's fried with a generous handful of peppers and vegetable oil). (This will be completely ignored about 50% of the time, even if your pronunciation is correct.)
6) Baidu maps is pretty helpful if you want to show a cab driver your destination. They won't be able to interpret google maps. Older cab drivers won't be able to see the small characters on your screen, but if you take a screenshot then zoom in sometimes it works. Or just choose young cab drivers.
7) Wechat. Everybody has it. Even if you never try to pay for anything with it, you can quickly "friend" someone and even if neither of you are dual language you can long-press on messages and use the in-app translation to get a lot done. Just be careful to avoid idioms and slang, use simple sentences, write out pronouns instead of dropping them, etc.
If you look at the road mortality statistics for those countries you'll see that safety equipment and regulations are absolutely necessary if you want to avoid lots of pain and suffering, and externalities. It's just those places simply can't afford them and deal with it in ways more advanced economies aren't prepared to accept.
Blocked loading mixed active content “http://www.opensubtitles.org/en/captcha2/redirect-%7Cen%7Cdo... More] app.kontext.xyz Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://dl.opensubtitles.org/en/download/src-api/vrf-19bf0c5.... (Reason: CORS header ‘Access-Control-Allow-Origin’ missing). (unknown) Error: XHR error vendor.c1d3cea4dc48e57eff24.js:333:26904 GET https://www.google-analytics.com/collect [HTTP/2.0 200 OK 355ms]
2) I downloaded from various places. If you can post a link I'll check it out, but based on past experience the subtitles for one market only match that release of that market's movie, and go out of sync with any foreign release. For example, if you have a Chinese movie with English subtitles it was probably edited for release in an English speaking market and won't match any Chinese subtitles you might find since they would go with the Chinese release.
What killed it, though, was a near impossibility of finding a movie that wasn't edited differently in each language (causing at least one of the audio track or language tracks to be out of sync or otherwise unmergeable). Maybe that was just an issue with Mandarin and other languages have better availability, but for me it ended up just being an endless swamp of comparing subtitle files to see if they were different, screwing around with time offsets, and eventually giving up. The player itself worked, albeit with a terrible UI, I just couldn't find more than a handful (OK, actually only one: Lost in Thailand) movies + dual sets of matching subtitle tracks to use it with.
If anybody has a solution to this I'd love to be able to use it again and even willing to post a cleaned up version if there is interest.
I also had vague thoughts of looking at the youtube API to see if there's a solution there for videos that already have multiple subtitle languages, but haven't gotten around to it yet.