You can find a higher definition version of our Kickstarter Video here.

1Bitsy is an STM32F415 ARM Cortex-M4F based embedded hardware/software development platform with several goals:

Small size (38.1mm x 17.8mm or 1.5in x 0.7in) and low cost allowing you to embed the hardware and leave it inside your project.

(38.1mm x 17.8mm or 1.5in x 0.7in) and allowing you to embed the hardware and leave it inside your project. Great debugging tools and simple and thin programming interfaces, making it easy to understand how it works.

and simple and thin programming interfaces, making it easy to understand how it works. Easy prototyping , you can cut and paste together the examples to get going fast.

, you can cut and paste together the examples to get going fast. Lots of tutorials , example projects and documentation, so you can choose your own path in learning embedded hardware development.

, example projects and documentation, so you can choose your own path in learning embedded hardware development. Framework agnostic: You can program your 1Bitsy using libopencm3, platform.io, Arduino, STM32Cube, MicroPython or Rust.

1Bitsy V1.0

1Bitsy can be used on its own with great success. It has a factory-supplied USB DFU (Device Firmware Upgrade) bootloader, making it possible to upload your binary at any time without giving up space or resources on the 1Bitsy. But, the biggest advantage of 1Bitsy over other platforms, becomes apparent if you use it in combination with the Black Magic Probe JTAG/SWD programmer & debugger.

Black Magic Probe V2.0

The Black Magic Probe is a JTAG and SWD Adapter used for programming and debugging ARM Cortex MCUs. It's the best friend of any ARM microcontroller developer. It works like a brain tap, it allows you to inspect and affect any aspect of the program you are running on your 1Bitsy without having to add special code.

Here is a short list of things you can do if you use a Black Magic Probe:

Interrupt program

Inspect and modify registers and variables

Watch variables (the program gets interrupted and reports a variable value change)

(the program gets interrupted and reports a variable value change) Breakpoints (you can set a point in your code that will cause the program to stop as soon as it is reached)

(you can set a point in your code that will cause the program to stop as soon as it is reached) Call stack and backtrace (you can see what functions, with which parameters brought us to the current point and state of the program)

(you can see what functions, with which parameters brought us to the current point and state of the program) Disassembly (see the machine code and find out exactly what your program is doing)

(see the machine code and find out exactly what your program is doing) Dump memory (download the RAM and/or flash content to a file)

Debugging 1Bitsy Code using Black Magic Probe and the Atom text editor GDB plugin we have developed.

The Black Magic Probe connects directly to your 1Bitsy and the GNU Debugger (GDB). No need for complicated setup of middleman software like OpenOCD.

Hardware Security Class using Black Magic Probe (Click to see full PDF)

The Black Magic Probe can be used to debug a large selection of ARM Cortex-M microcontrollers. The full collection of currently supported chips can be found in the "Technical Specification" section. Besides being great for developing new embedded software it is also an indispensable tool for any hardware and software security researcher. Black Magic Probe makes reverse engineering of hardware easier. Here is a short list of useful features for the information security researcher:

Embedded software development (embedded attack software and hardware development)

(embedded attack software and hardware development) Reverse engineering of Internet of Things (IoT) devices

of (IoT) devices Firmware and memory dumping of live systems

of live systems Disassembly and vulnerability search

Dynamic analysis with IDA and other tools that are compatible with GDB servers

with IDA and other tools that are compatible with GDB servers Scriptable hardware attacks

Project Ideas

If you are looking for ideas, and want to know what you can do with the 1Bitsy, here is a list of projects our early testers and friends have created with it, as well as some ideas for projects that are possible with the 1Bitsy.

Retro Games: 1Bitsy has enough RAM and flash to run a lot of retro games. As an example, Bob Miller has ported the Game Dungeon (also known as Zork I) to the 1Bitsy.

1Bitsy Running Zork I

LCD Game Console: Together with our friend Bob Miller, we are well under way in creating an awesome retro-inspired game console around the 1Bitsy. We are already able to render graphics at 60FPS using DMA to a ILI9341TFT display. You should check out the git repository if you want to get involved in the project. The board and kits are fully open-hardware and you will be able to order the pre assembled breakout board from 1Bitsquared or the bare PCB directly from OSHPark, as soon as the PCB is finalized.

RGB LED display panel: Chuck McMannis has created a demo using a common RGB LED display panel. He is able to generate 1,000FPS (yes, one thousand) on his 64 x 64 pixel display. So I am sure one can drive a display at least 20 times larger from a 1Bitsy at a decent frame rate. :)

Digital Synth or Guitar Effect Pedal: The 1Bitsy has ADCs and DACs built in. With its DSP functions one can implement digital sound effects. It would be a great fit for a guitar pedal, or a digital synthesizer!

Warbler by Bob Miller - 1Bitsy driving the Teensy Audio Adapter Board DAC

Elle0 UAV autopilot: The 1Bitsy is based on the circuitry of the Elle0 UAV autopilot. We are working on a simple breakout board with the additional needed sensors to convert your 1Bitsy into a rotorcraft or airplane Paparazzi UAV autopilot.

Elle0 UAV Autopilot designed by Piotr Esden-Tempski

As you can see, the 1Bitsy taps into a large group of STM32 based products and projects. What makes it different is its specific form factor, compatibility with Black Magic Probe and our dedication to it. Your involvement will allow us to continue improving and developing libraries like libopencm3, testing and making sure the Rust and Arduino development is possible and creating new plugins for text editors like the atom-gdb-debugger. As well as adding improvements and new features to the Black Magic Probe firmware.

We are dedicated to creating open source hardware and software. 1Bitsy as well as the Black Magic Probe are both open source. The featured example projects, including the software development environment, libraries and tools are all open source. This will give you the opportunity to explore and understand every aspect of the platform, because no component is a black box.

Technical Specification

1Bitsy hardware features:

38.1mm x 17.8mm or 1.5in x 0.7in size

MCU : STM32F415RGT6 (64Pin TQFP)

: STM32F415RGT6 (64Pin TQFP) 32-bit ARM Cortex-M4 core

168MHz CPU core frequency

192KB RAM

1MB Flash

FPU (Floating Point Unit) single precision floating point arithmetic hardware instructions

(Floating Point Unit) single precision floating point arithmetic hardware instructions DSP (Digital Signal Processor) Instructions

(Digital Signal Processor) Instructions SIMD (Single Instruction Multiple Data) Instructions

210 DMIPS (Dhrystone 2.1)

USB Full Speed interface (12MBit)

Full Speed interface (12MBit) USB High Speed interface (12MBit with the built in FS PHY, 480MBit requires external PHY)

4bit SDIO interface (used for high speed SD Card)

interface (used for high speed SD Card) 10 x Timers (up to 32Bit resolution, up to 168MHz, up and down counting, synchronized 3 phase with complementary outputs and much more)

(up to 32Bit resolution, up to 168MHz, up and down counting, synchronized 3 phase with complementary outputs and much more) 3 x 12-bit, 2.4 MSPS ADCs with 14 mux channels. Up to 7.2 MSPS in triple interleaved mode

with 14 mux channels. Up to 7.2 MSPS in triple interleaved mode 2 x 12-bit, DACs

General-purpose DMA : 16-stream DMA controller with FIFOs and burst support

: 16-stream DMA controller with FIFOs and burst support 2 x I2C (SMBus/PMBus)

(SMBus/PMBus) 6 x UART up to 10.5Mbit/s with modem, IrDA and LIN support

up to 10.5Mbit/s with modem, IrDA and LIN support 3 x SPI up to 42Mbit/s with I2S support for high fidelity audio output

up to 42Mbit/s with I2S support for high fidelity audio output 2 x CAN 2.0B Active (requires external PHY)

2.0B Active (requires external PHY) Cryptographic acceleration: hardware acceleration for AES 128, 192, 256, Triple DES , HASH ( MD5 , SHA-1 ), and HMAC

128, 192, 256, Triple , HASH ( , ), and HMAC True random number generator ( RNG )

) CRC calculation unit

calculation unit RTC : subsecond accuracy, hardware calendar

: subsecond accuracy, hardware calendar 3.3V 500mA Low Dropout Voltage regulator

Low Dropout Voltage regulator Full Speed (12MBit) OTG (Client & Host) Micro-USB connector

(Client & Host) Micro-USB connector Exposed USB pads allowing soldered USB cable extension

User controllable LED

User controllable push button

25MHz external high speed crystal oscillator

32.768kHz RTC crystal footprint

41 exposed GPIO with multiple hardware functions

with multiple hardware functions Standard ARM Cortex 10Pin JTAG / SWD program, debug and trace connector

1Bitsy V1.0 Pinout Diagram (click for larger image)

Black Magic Probe V2.1 Front Legend

Black Magic Probe V2.1 Back Legend

Black Magic Probe hardware features:

On board implementation of JTAG (Joint Test Access Group) protocol

(Joint Test Access Group) protocol On board implementation of the SWD (Serial Wire Debug) protocol

(Serial Wire Debug) protocol High speed data interface to the Device Under Test 4.5MBit

On board implementation of the GNU Debugger Server protocol (no need for OpenOCD) works with stock arm-none-eabi-gdb (no patches or plugins needed)

Server protocol (no need for OpenOCD) works with stock arm-none-eabi-gdb (no patches or plugins needed) Automatic detection of the Device Under Test (no need for config files)

Frontend Level shifter. Usable with targets that run on voltages as low as 1.7V and as high as 5V.

There is experimental support for Cortex-A (ARMv7-A architecture). This is being used with success on Xilinx Zynq-7000 SoC (Dual-core Cortex-A9) and Raspberry Pi 2 (Quad-core Cortex-A7).

Semihosting IO support (allows execution of print, read, open, system calls on the host through the JTAG/SWD interface)

Interface to the host computer is a standard USB CDC ACM device (virtual serial port), which does not require special drivers on Linux or MacOS .

CDC ACM device (virtual serial port), which does not require special drivers on or . Auxiliary UART interface. Black Magic Probe can be used as a USB to Serial adapter at the same time together with the JTAG/SWD interface.

adapter at the same time together with the JTAG/SWD interface. Implements USB DFU class for easy firmware upgrade as updates become available.

as updates become available. Works with Windows, Linux and MacOS environments.

Development History

Black Magic Probe was originally developed by Gareth McMullin in 2010. He is still the maintainer of the project. He developed the first two versions of the hardware, the Black Magic Probe and the Black Magic Probe Mini V1.0. In December 2015, I took over the hardware development so that Gareth could spend his valuable time on adding new features and improving the Black Magic Probe firmware.

Together we have developed the Black Magic Probe Mini V2.0,bringing back a level shifter that allows interfacing to low voltage targets. Although the new version of the hardware worked great for most people it turned out that a few people had issues with the drive power caused by the level shifter.

Black Magic Probe V2.0 with JTAG and Serial Cables

To remedy the drive power issue we have developed an improved Black Magic Probe Mini V2.1 for this Kickstarter. The main changes are the level shifters. Besides being unidirectional and thus not having the same issues their predecessor had, they add a much larger target voltage range. Now you will be able to connect 5V targets as well as 1.7V targets.

We have received the prototype PCBs from OSHPark and are in the process of testing the boards. If we do not find any major issues we will be creating panels and placing a medium production batch order just in time to fulfill the Early Backer rewards.

1Bitsy V1.0

The inspiration for 1Bitsy was the lack of small, low cost ARM boards that come with a JTAG/SWD connector. Many people have asked us what development board someone should get to try out the capabilities of Black Magic Probe. This is why we took the ideas of existing development boards that we liked and molded them into the 1Bitsy. The current version of the board was manufactured in a small production batch to give away to the attendees of the Open Hardware Summit in Portland, Oregon. Thanks to the generosity of our friends at OSHPark this was a huge success, and allowed us to test the design and make sure that the board was ready for the public.

1Bitsy Panels for OHSummit 2016

Now we want to bring the 1Bitsy and the Black Magic Probe to as many curious open source embedded ARM software developers and enthusiasts as possible. This is why we need your help. To make the boards affordable, we need to order large quantities of the parts.This helps us offer lower prices to get them in your hands, and better margins for us which helps support ongoing development of the platform.

We will be assembling and testing all the boards using our own Quad 4000C pick and place machine. It’s not the most modern machine but it’s a very reliable workhorse.

If you and your friends help out we might be able to add and expand our assembly line, to be able to get things done faster and more efficiently. See Stretch Goals below.

Last but not least, thanks to the OSHPark service and the fact that our design and manufacturing are all in house, we are proud to say that 1Bitsy and Black Magic Probe are truly designed and manufactured in the USA!

Software and Documentation Goals

We already have good support and a collection of examples for libopencm3. We have a platform.io plugin that adds support for 1Bitsy. We also have the atom-gdb-debugger plugin for the Atom text editor. We have a lot of ideas for software and documentation related tasks, but in the short term we are planning to work on the following:

If you are interested in our progress, or want to be part of the effort, join us in the 1Bitsy gitter channel.

Kickstarter Rewards

Each Black Magic Probe comes with a JTAG ribbon cable and a 0.1" pitch pin compatible serial cable.

As an ARM Developer Team backer you will receive 5 x Black Magic Probes V2.1 from the final production run of hardware.

As an ARM Class Pack backer you will receive 5 x 1Bitsys and 5 x Black Magic Probes V2.1 from the final production run of hardware.

As a Mega Supporter you will receive, 2 x 1Bitsys and 2 x Black Magic Probes V2.1 prototypes in January when the Kickstarter ends. Additionally, you will receive 2 x 1Bitsys and 2 x Black Magic Probes V2.1 from the final production run of hardware. As well as a 1Bitsy T-Shirt.

Stretch Goals

If we are able to get enough backers we will be able to afford better tools for our PCB assembly shop. This will help us improve our yield and assembly speed. This will benefit everyone, as you will likely get your rewards sooner. So make sure to spread the word about this Kickstarter!