Tulip Creative Computer: A Portable Python Synthesizer for Music and Graphics
#Hardware

Tulip Creative Computer: A Portable Python Synthesizer for Music and Graphics

Startups Reporter
4 min read

The Tulip Creative Computer is a portable, programmable device that runs MicroPython for real-time music synthesis and graphics. It's available as a $59 hardware unit, a web app, or a native desktop application.

The Tulip Creative Computer is a hardware project that occupies a curious space between a retro gaming console, a musical instrument, and a code playground. It is a self-contained portable computer designed for immediate, distraction-free creation using Python. The core philosophy is dedicated hardware for code, display, and sound, running in real-time without a traditional operating system overhead.

The project, developed by shorepine, has been in iteration for years and is now available in multiple forms: a physical hardware unit (Tulip CC), a web browser version, and a native desktop application for Mac and Linux.

Featured image

The Hardware Unit (Tulip CC)

The physical Tulip CC is manufactured by Makerfabs and costs $59. It is a low-power device built around the ESP32-S3 chip using the ESP-IDF framework. The hardware specifications are tailored for multimedia processing:

  • Memory: 8.5MB of RAM total. 2MB is allocated specifically for the MicroPython runtime, while 1.5MB handles OS functions. The remaining RAM is used for graphics framebuffers and firmware caching.
  • Storage: 32MB of flash storage acts as a filesystem accessible within Python. After the OS is loaded into ROM, 24MB remains available for user files.
  • Connectivity: Wi-Fi is built-in, allowing for HTTP requests via Python's requests library or TCP/UDP sockets. It also features USB keyboard, MIDI, and mouse support (including hubs), plus an I2C / Grove / Mabee connector for external sensors, joysticks, or GPIO devices.
  • Power: It draws 575mA at 5V, making it capable of running for hours on a USB battery pack or LiPo battery.

Tulip

The Synthesis Engine: AMY

The defining feature of Tulip is its integrated sound engine, AMY. This is a 120-voice stereo synthesizer that runs locally on the ESP32-S3. It is not a simple sound generator; it is a complex engine supporting multiple synthesis methods:

  • Subtractive and Additive Oscillators: Standard waveforms and complex stacking of sine waves.
  • FM Synthesis: A high-quality frequency modulation engine.
  • Samplers and Karplus-Strong: Sample playback and physical modeling synthesis.
  • Filters: Analog-style filters for shaping sound.
  • Sequencing: A built-in sequencer and drum machine.

The system ships with a drum machine, a voice/patch editor, and a Juno-6 editor, allowing users to sculpt sounds immediately. Because Tulip supports MIDI input and output, it can function as a standalone synthesizer or a controller for an external "Alles mesh" (a distributed speaker system).

Tulip, a musical computer based on Micropython

Graphics and Display

Tulip's graphics architecture is designed for low-latency rendering, suitable for games and visual art. It uses a multi-layer approach:

  • Background Layer: A 1024x600 framebuffer (with overscan) for drawing arbitrary bitmaps or using as general RAM. It supports horizontal and vertical scrolling.
  • Hardware Sprites: Up to 32 sprites can be drawn per scanline with collision detection. They share 32KB of bitmap memory (1 byte per pixel).
  • Text Layer: A separate 128x50 character buffer with ANSI support for 256 colors, bold, underline, and inverse text.

The system can load PNG files from disk to populate sprites or backgrounds, or users can generate bitmap data programmatically. The display defaults to 30 FPS at 1024x600 resolution with 256 colors.

Tulip Web

Programming Model and Ecosystem

Tulip boots directly into a Python prompt. There is no boot sequence to wait for, just immediate access to a REPL. The interaction model is entirely code-centric. The device includes a built-in text editor based on pico/nano with syntax highlighting and search capabilities.

The software ecosystem is open source and built on three pillars:

  1. MicroPython: The high-level language for user interaction.
  2. AMY: The synthesis engine.
  3. LVGL: The graphics library handling the UI elements.

A unique feature of the Tulip ecosystem is "TULIP ~ WORLD," a native BBS (Bulletin Board System) built into the device. It allows users to chat with other Tulip owners and transfer files directly, creating a closed-loop social network for hardware owners.

Accessibility: Web and Desktop

Recognizing that hardware acquisition is a barrier to entry, the project offers Tulip Web. This browser-based version replicates almost all features of the hardware unit, including the AMY synthesizer (via WebAssembly or Web Audio API emulation) and the graphics layers. It allows users to test the environment or share creations via URL without buying the hardware.

Similarly, Tulip Desktop runs as a native application on Mac and Linux (and WSL on Windows), providing a windowed environment for development.

Summary

Tulip Creative Computer is a specialized tool for creative coding. By combining a capable synthesizer with a programmable graphics engine in a portable form factor, it bridges the gap between hardware music gear and software development environments. It appeals to those who want to write code to generate sound and visuals without the complexity of setting up a full computer science stack.

Comments

Loading comments...