TI-83 Gets CircuitPython Upgrade

Graphing calculators are an interesting niche market these days. They’re relatively underpowered, and usually come with cheap, low resolution screens to boot. They remain viable almost solely due to their use in education and the fact that their limited connectivity makes them suitable for use in exams. The market is starting to hot up, though – and TI have recently been doing some interesting work with Python on their TI-83.

Rumor has it that TI have been unable to get Python to run viably directly on the TI-83 Premium CE. This led to the development of the TI-Python peripheral, which plugs into the calculator’s expansion port. This allows users to program in Python, with the TI-Python doing the work and the calculator essentially acting as a thin client. The chip inside is an Atmel SAMD21E18A-U, and is apparently running Adafruit’s CircuitPython platform.

This discovery led to further digging, of course. With some hacking, the TI-Python can instead be replaced with other boards based on Atmel SAMD21 chips. For those of you that aren’t in Atmel’s sales team, that means it’s possible to use things like the Adafruit Trinket M0 and the Arduino Zero instead, when flashed with the appropriate CircuitPython firmware. It’s a tricky business, involving USB IDs and some other hacks, but it’s nothing that can’t be achieved in a few hours or so.

This is a hack in its early days, so it’s currently more about building a platform at this stage rather then building fully-fledged projects just yet. We’re fully expecting to see Twitter clients and multiplayer games hit the TI-83 platform before long, of course. When you’ve done it, chuck us a link on the tip line.

[Thanks to PT for the tip!]

Hacking Hackaday.io From CircuitPython

If you’ve ever engaged in social media, you’re familiar with the little thrill you receive when your post, tweet, or project gets a like. But, if logging in feels like too much overhead to obtain your dopamine reward, [pt’s] CircuitPython Hackaday portal may be just what you’re looking for. This project creates a stand-alone counter to display the number of “skulls” (aka likes) received by a project on hackaday.io, and of course, it’s currently counting its own.

The code is running on a SAMD51 (Cortex M4) microcontroller and serving up the skulls on 240×320 TFT display. For WiFi connectivity, the project uses an ESP-32 controlled through the usual AT command set. All the gory details of this interaction are abstracted away by a CircuitPython library, which is great because that code really isn’t something you want to write for every project. The program accesses the hackaday.io API to retrieve the number of skulls for the project, but could be easily modified to interface with any service that returned a JSON result.

We’ve been seeing a lot of CircuitPython code lately. Just in case you’re not familiar with it, CircuitPython is Adafruit’s version of Micropython, a python language targeted at embedded processors. While it sounds like something concocted purely to make old-school embedded-C programmers grumble, it’s actually powerful and convenient for embedded prototyping and development. Fueled by the speed of the latest inexpensive microcontrollers and a rapidly growing set of libraries that take the sting out of using integrated peripherals and common hacker-friendly parts, it offers a solid alternative to older embedded frameworks. There are lots of examples around if you want to get started, and we’re maintaining our own list of CircuitPython projects over on hackaday.io that you can check out.

You can see a video of the display after the break. It’s not a live stream, so you won’t see your like appear on the display, but rest assured, [pt] will!

Continue reading “Hacking Hackaday.io From CircuitPython”

Code On Your Phone With CircuitPython Editor

[foamyguy] loves Python and messing around with electronics. Boards such as Adafruit’s Circuit Playground Express make it easy for him to take both anywhere. He recently found himself wanting to program Circuit Python boards in the field, but doesn’t always have a laptop on him. So he created an Android app to make on-the-go programming fast and easy.

Using CircuitPython Editor and one or two USB cables, you can program Circuit Python boards with most Android device, including Tinkerboards. It features serial communication, a basic code editor, and a REPL sandbox for code-based castle building. [foamyguy]’s most recent addition to this work in progress is a macro creation tool that lets you edit and store modular, repeatable tasks, like turning all the NeoPixels blue, or lighting them up in a smiley face pattern. The Circuit Python board will draw its power from the Android device, so keep that in mind before you program some crazy light show.

You can get the app in the Play store or download it directly from the ‘hub. If you have any trouble setting it up, check out [foamyguy]’s Adafruit guide.

These Five Hackaday.io Members Just Won Fancy New CircuitPython Boards

Just a few hours ago, we had a HackChat over on Hackaday.io with Adafruit discussing CircuitPython, their new extension to the MicroPython codebase. During the chat, the folks at Adafruit took questions and asked participants in the chat what they’d like to build with some cool new hardware. These CircuitPlayground M0 Express boards are brand new, unreleased hardware. Really cool stuff.

The winners of these unreleased boards, and the projects they’ll be using them for are: [RaidDude8] for a light painting system, [gelatinousslime] for a ‘magic wand’ for his daughter that reacts to gestures, [Neon22] for a multiuser game using Neopixels, [turbinenreiter] for a gravity demonstrator using Neopixels and the accelerometer, and [todbot] for a Powermate knob USB HID clone.

During the chat, The folks at Adafruit talked about their additions to MicroPython. It’s a rework of the API, provides better support for more platforms, and extends the entire thing to microcontrollers.  If you like Python and want to get into microcontrollers, this one is for you.

If you missed the chat, you can still check out Adafruit’s live stream right here, or the transcript right here. Below, you can check out Lady Ada awarding the new boards after the break.

We have a few more HackChats coming up in the next few weeks, one with [Sprite_TM], inevitably discussing why he won’t do a crowdfunding campaign for his tiny, tiny Game Boy, an RF talk with [Jenny List], and a chat with Sparkfun. You can check out the upcoming HackChats here. Want to get in on the action? Request to join the HackChat and you’re in.

Continue reading “These Five Hackaday.io Members Just Won Fancy New CircuitPython Boards”

Friday Hack Chat: CircuitPython With Adafruit Engineers

What the heck is CircuitPython? Get that question answered along with many more during this Friday’s Hack Chat. Three engineers from Adafruit join us as [Ladyada], [Tony DiCola], and [Scott Shawcoft] lead a CircuitPython discussion at Noon PST on 1/27/17.

CircuitPython is Adafruit’s new extension on the MicroPython codebase. It adds support for SAMD21 processors in MicroPython and reworks the API for better support across platforms and better documentation. Does this still sound like jibberish? The Python programming language has been extended to microcontrollers. CircuitPython is furthering that work and this Hack Chat is the perfect opportunity to talk with the people who are doing that work. They will also be doing a giveaway of five CircuitPlayground m0 Express boards (brand new, not yet released hardware).

Don’t miss this Hack Chat! Here’s a handy web tool to help convert Friday, January 27 at noon PST to your local time.

Here’s How to Take Part:

join-project-team-message-buttons
Buttons to join the project and enter Hack Chat

Hack Chats are live community events that take place in the Hackaday.io Hack Chat group messaging. Visit that page (make sure you are logged in) and look for the “Join this Project Button” in the upper right. Once you are part of the project, that button will change to “Team Messaging” which takes you to the Hack Chat.

You don’t have to wait for Friday, join Hack Chat whenever you like and see what the community is currently talking about.

Handheld LoRa Joystick For Long-Range Bots

Wanting a simple tool to aid in the development of LoRa controlled robotic projects, [Jay Doscher] put together this very slick one-handed controller based on the 900 MHz Adafruit Feather M0. With a single trigger and a miniature analog joystick it’s a fairly simple input device, but should be just enough to test basic functionality of whatever moving gadget you might find yourself working on.

Wiring for this project is about as simple as you’d expect, with the trigger and joystick hanging off the Feather’s digital ports. The CircuitPython code is also very straightforward, though [Jay] says in the future he might expand on this a bit to support LoRaWAN. The controller was designed as a barebones diagnostic tool, but the hardware and software in its current form offers an excellent opportunity to layer additional functionality on a known good base.

Everything is held inside a very well designed 3D printed enclosure which [Jay] ran off on his ELEGOO Mars, one of the new breed of low-cost resin 3D printers. The machine might be pretty cheap, but the results speak for themselves. While resin printing certainly has its downsides, it’s hard not to be impressed by the finish quality of this enclosure.

While LoRa is generally used for transmitting small bits of information over long distances, such as from remote sensors, this isn’t the first time we’ve seen it used for direct control of a moving object. If you’re not up to speed on LoRa, check out this excellent talk from [Reinier van der Lee] that goes over the basics of the technology and how he used it to build a community sensor network.

The Numberwang Badge Brought Cheer To CCCamp 2019

While wandering through CCCamp last weekend, in between episodes of forcing Marmite on the unwary, I ran into the well-known Hackaday.io user [Prof. Fartsparkle]. In a last-minute sprint leading up to the con he built himself the Numberwang badge to join in the colorful after-dark festivities with beautiful board artwork and remarkably enjoyable backlit LED display.

The Numberwang badge itself is a clone of the Adafruit Itsy Bitsy sporting an ATSAMD21G18 CPU and running CircuitPython. It has an LED strip on the reverse shining through the bare FR4 as a diffuser, and the Numberwang effect of selecting random numbers is achieved by a host of random touchable numbers sprinkled across its front. For something he freely admits was a last minute project, we think he’s done a pretty good job!

For those mystified by Numberwang, it is a fictional gameshow from a BBC TV comedy programme that involves contestants answering the quizmaster with random numbers. It joins a rich tradition of such hilarious nonsense, and has as a result become cult television.

If you’re really getting into Numberwang, don’t forget that it’s inspired a programming language.

Continue reading “The Numberwang Badge Brought Cheer To CCCamp 2019”