Python is often touted as a great language for beginner coders to learn. Until recently, however, it simply wasn’t a viable choice in the embedded space. That’s begun to change with projects like CircuitPython, and now it’s available on the Teensy 4.0!
This milestone is thanks in part to [arturo182], who did the ground work of getting CircuitPython to run on the iMX RT series of microcontrollers. This was built upon by [tannewt], who is the lead in charge of the CircuitPython project.
There are some bugs to work out; currently, the project is in a very early stage of development. [Paul Stoffregen], who heads Teensy development, has already pointed out that there needs to be allowance for the 4096 byte recovery partition in the Teensy 4.0’s storage, for example. Development continues at a rapid pace, and those with ideas about where the project should go can weigh in online.
It’s an exciting development, which brings easy Python development to one of the more powerful embedded development platforms on the market. We look forward to seeing many more projects take advantage of the power of the Teensy 4.0 moving forward. If you’re eager to see what can be done with CircuitPython, be sure to check out projects we’ve featured before. Video after the break.
Continue reading “CircuitPython Now Working On Teensy 4.0”
Whether you’re new to electronics and programming, or you were bit-banging bare metal long before hair metal, CircuitPython is a great tool for getting a project up and working without all the fuss. The boards show up as mass storage devices, and programming consists of editing the Python file and saving it back to the board.
The only hard part about CircuitPython is trying to cram those official boards into small projects. [Kevin Neubauer] got tired of making his own board every time and came up with a slim system-on-module that has all the core functionality of CircuitPython. CircuitBrains Deluxe has regular holes for using headers, but also has castellated pads so he can solder these modules directly to a larger project PCB. [Kevin] says these are still in the testing and cost-optimization phase, but we would totally buy a few of them.
[Kevin] probably has a programming method for this module in mind already. But if you find yourself mystified by castellated pads, take a look at this pogo pin programmer built for ESP8266s. If your problem is pitch-related, maybe you can save the day with a breakout board.
Thanks to [Drew Fustini] for the tip!
We can probably all relate to the origin story of this one. [Alex] was working on a bigger, more involved clock project when this cute little desk clock idea caught his mind’s eye. Who wouldn’t want a clock with character and a little bit of an attitude?
This little guy’s brain is an ItsyBitsy M0 Express, and he gets his time data from an Adalogger FeatherWing RTC. Those antennae aren’t just for looks – [Alex] chose the ItsyBitsy because it can easily do capacitive touch out of the box without extra components. In the brief demo after the break, [Alex] shows how touching them triggers either an animated face or a still face before switching to the clock face.
We love functional circuit sculptures, especially ones with this much character. [Alex] was inspired by [Mohit Bhoite]’s breathtaking circuit sculptures and seems to follow his great example of laying it all out on paper first. Incidentally, our last HackChat before Supercon starred [Mohit] and his circuit sculptures. Missed it? Read the transcript here.
Continue reading “CircuitPython Sculpture Clock Adds Character To Any Desk”
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!]
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”
[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.
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”