Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. MicroPython
  3. micropython-upyphone

micropython-upyphone

MITPython

A DIY GSM mobile phone built with MicroPython, featuring voice calls, SMS, and basic apps on a pyboard with SIM800L module.

GitHubGitHub
425 stars35 forks0 contributors

What is micropython-upyphone?

UpyPhone is a DIY GSM mobile phone project built with MicroPython that runs on a pyboard with a SIM800L module and LCD touchscreen. It provides core phone functionalities like voice calls, SMS messaging, and a contact book, along with the ability to run simple internet-connected applications. The project solves the need for an accessible, programmable hardware platform to explore cellular communication and embedded UI development.

Target Audience

Electronics hobbyists, MicroPython enthusiasts, and educators looking for hands-on projects in embedded systems and IoT. It's ideal for those interested in building custom devices with cellular capabilities.

Value Proposition

Developers choose UpyPhone for its simplicity and educational value, offering a fully functional phone built with easy-to-understand MicroPython code. Unlike commercial phones, it provides complete hardware and software transparency for customization and learning.

Overview

A gsm phone using pyboard and sim800l

Use Cases

Best For

  • Learning GSM and GPRS communication with MicroPython
  • Building custom embedded devices with cellular connectivity
  • Educational workshops on IoT and hardware programming
  • Prototyping low-power touchscreen interfaces for embedded systems
  • Creating DIY electronics projects with phone functionality
  • Experimenting with HTTP/HTTPS requests over cellular networks

Not Ideal For

  • Commercial product development requiring scalable, production-ready firmware
  • Projects needing dynamic contact management or cloud sync without code changes
  • Teams wanting extensive third-party app support or modern smartphone features
  • Environments where rapid prototyping without soldering or hardware debugging is essential

Pros & Cons

Pros

Low-Power Sleep Mode

Achieves under 5mA power consumption by putting pyboard and SIM800L into low-power states, as detailed in the Sleep Mode section, ideal for battery-operated projects.

Touchscreen UI Integration

Provides a full graphical interface for calls, SMS, phone book, and apps, with multiple screen images in the README demonstrating comprehensive usability.

Internet Connectivity via GPRS

Supports HTTP/HTTPS GET requests for apps like currency and weather, enabling basic web services over cellular, as updated in November 2022.

Educational MicroPython Base

Leverages MicroPython for accessible code, making cellular communication and embedded UI development approachable for hobbyists and learners.

Cons

Static Phone Book Management

Contacts are hard-coded in phoneui.py, requiring code edits to add or modify entries, which limits user-friendliness and dynamic updates.

Hardware-Specific Design

Tied to pyboard and SIM800L module with fixed wiring, making it less adaptable to other components or custom hardware setups without significant modification.

Limited App Ecosystem

Only includes two example apps and requires manual API key setup, indicating a barebones framework with minimal out-of-the-box functionality.

Frequently Asked Questions

Quick Stats

Stars425
Forks35
Contributors0
Open Issues0
Last commit8 years ago
CreatedSince 2017

Tags

#iot#open-hardware#embedded-systems#micropython#pyboard#low-power#gsm#diy-electronics

Built With

M
MicroPython
p
pyboard

Included in

MicroPython1.8k
Auto-fetched 1 day ago

Related Projects

sim800sim800

Library for interfacing with SIM800 module in Micropython

Stars32
Forks4
Last commit10 months ago
micropython-sim800micropython-sim800

This project provides a MicroPython driver for SIM800 cellular modules, allowing embedded devices to connect to cellular networks for SMS, voice calls, and TCP/IP communication. It simplifies integration of cellular connectivity in MicroPython-based IoT projects by abstracting AT command complexities. ## Key Features - **SMS Handling** — Send and receive SMS messages with simple API calls - **Voice Call Management** — Make and receive phone calls with basic call control - **TCP/IP Connectivity** — Establish TCP connections for HTTP and other internet protocols - **AT Command Abstraction** — Wraps complex SIM800 AT commands into easy-to-use functions - **Network Registration** — Automatically handles network registration and signal strength monitoring ## Philosophy The driver focuses on providing a clean, Pythonic interface to SIM800 modules while maintaining reliability for embedded applications where cellular connectivity is critical.

Stars17
Forks3
Last commit8 years ago
sim7600sim7600

sim7600 in micropython

Stars9
Forks3
Last commit1 year ago
MicroPython-AM7020MicroPython-AM7020

MicroPython-AM7020

Stars4
Forks4
Last commit5 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub