A prototype is a preliminary model of something. Projects that offer physical products need to show backers documentation of a working prototype. This gallery features photos, videos, and other visual documentation that will give backers a sense of what’s been accomplished so far and what’s left to do. Though the development process can vary for each project, these are the stages we typically see:
Proof of Concept
Explorations that test ideas and functionality.
Demonstrates the functionality of the final product, but looks different.
Looks like the final product, but is not functional.
Appearance and function match the final product, but is made with different manufacturing methods.
Appearance, function, and manufacturing methods match the final product.
This Kickstarter is the release of the new Black Magic Probe V2.1 together with its companion demo platform 1Bitsy V1.0. By backing this project you are enabling us to purchase parts at large enough quantities to bring Black Magic Probe and 1Bitsy to all of you at a lower price. We think the Black Magic Probe is a major improvement to all JTAG debuggers that came before it and we want to invite you to join the user community of this amazing tool. The V2.1 is another step in improving the experience of embedded software development of ARM Cortex-M platforms. We believe this is an essential piece of ARM development and security research hardware. All of your pledges will help us to continue the development of this platform.
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.
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:
Inspect and modify registers and variables
Watch variables (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)
Call stack and backtrace (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)
Dump memory (download the RAM and/or flash content to a file)
The Black Magic Probe connects directly to your 1Bitsy and the GNU Debugger (GDB). No need for complicated setup of middleman software like OpenOCD.
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)
Reverse engineering of Internet of Things (IoT) devices
Firmware and memory dumping of live systems
Disassembly and vulnerability search
Dynamic analysis with IDA and other tools that are compatible with GDB servers
Scriptable hardware attacks
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.
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 gitrepository 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!
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.
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.
USB High Speed interface (12MBit with the built in FS PHY, 480MBit requires external PHY)
4bit SDIO 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)
3 x 12-bit, 2.4 MSPS ADCs 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
2 x I2C (SMBus/PMBus)
6 x UART 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
2 x CAN 2.0B Active (requires external PHY)
Cryptographic acceleration: hardware acceleration for AES 128, 192, 256, Triple DES, HASH (MD5, SHA-1), and HMAC
True random number generator (RNG)
CRC calculation unit
RTC: subsecond accuracy, hardware calendar
3.3V 500mA Low Dropout Voltage regulator
Full Speed (12MBit) OTG (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
Standard ARM Cortex 10Pin JTAG / SWD program, debug and trace connector
Black Magic Probe hardware features:
On board implementation of JTAG (Joint Test Access Group) protocol
On board implementation of the SWD (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)
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.
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.
Implements USB DFU class for easy firmware upgrade as updates become available.
Works with Windows, Linux and MacOS environments.
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.
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.
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.
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.
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.
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!
$15,000: We will be able to get a newer and more accurate 2mm feed pitch feeders for our pick and place machine. This will make the assembly more streamlined and less error prone. This helps us get the rewards assembled and shipped out faster!
$20,000: We will include a 10Pin ARM Cortex JTAG to 0.1" pitch breakout adapter with every Black Magic Probe. This adapter is very versatile and provides a convenient way of connecting your Black Magic Probe to development boards that expose the JTAG pins on a 0.1" (2.54mm) pin header. Such as discovery boards or your breadboard project.
Risks and challenges
We have already produced prototypes and an initial pre-production batch of 1Bitsys and Black Magic Probes. We know what is needed to get the rewards out to you. This is also not the first electronic product or Kickstarter that we have been involved in. Nonetheless, there are always challenges and unforeseen obstacles. The main one is the part manufacturer lead time. We will be placing the order for the main production batches as soon as we receive the money from Kickstarter. (It takes up to 3 weeks after the campaign is over before we receive the money.) The main challenge is making sure the parts needed for manufacturing arrive on time and we can start the assembly on schedule. We know what the lead times are, so as long as there are no surprises we will have the needed bill of materials in our hands on time. The second challenge are manufacturing problems. There is always a slight chance that the assembly and reflow machines refuse to cooperate and we will need to address the arising issues. This is unlikely but still possible and would only add minor delays. We will immediately let you know if we run into any lead time or manufacturing issues.
This is our list of countries we currently have set as possible destinations:
We were instructed by Kickstarter that if you are in the above list and still have problems you should contact their support so they can try to resolve the issues you are having.
If your country is not on the list and you still would like to join the project send us a message and we will add your country if we can. Keep in mind that we will not be able to add some countries due to export control.
There are a few advantages of the Black Magic Probe. BMP is open-source, meaning that you can look inside it if you need or want to. We are getting support for new ARM Cortex-M based chips on a regular basis, so you are not limited to just the STM32. We have preliminary support for Cortex-A this will result in the ability to use the probe with Raspberry PI and Beagle Bone Black and many others. The Black Magic Probe also supports JTAG not only SWD, because not all microcontrollers use SWD. Also JTAG makes it possible to chain together more than one microcontroller. The GDB server is implemented on the probe itself, this means we do not use some proprietary protocol to talk to your debugger software, making the setup more repeatable and removing the need for custom config files. All you need to do is fire up GDB and connect to the virtual serial port of the Black Magic Probe, no special setup necessary. It is physically small, you can plug it into your hardware even if it is buried deeply inside your killer robot. We have equipped the Black Magic Probe V2.1 (this is the version the Kickstarter backers will receive) with dual supply level shifters that make it possible to connect to targets that run on voltages as low as 1.7V and as high as 5V. The transceivers are more robust than the STM32 GPIO meaning that if the BMP is connected wrongly to the target it is less likely you will hurt either the Black Magic Probe or your target. Also the Black Magic Probe comes with a TTL level UART providing a bonus USB to Serial capability that can be used simultaneously with the GDB JTAG/SWD debugger.
You get one 1Bitsy V1.0 (168MHz, 192kB RAM, 1MB Flash debuggable ARM Cortex-M4F development board) and one Black Magic Probe V2.1 (Plug and Play JTAG/SWD GNU debugger and programmer) delivered early including a JTAG cable and a Serial cable.
You get one 1Bitsy V1.0 (168MHz, 192kB RAM, 1MB Flash debuggable ARM Cortex-M4F development board) and one Black Magic Probe V2.1 (Plug and Play JTAG/SWD GNU debugger and programmer) from the first production batch. Including a JTAG cable and a Serial cable.
You get two 1Bitsy V1.0 (168MHz, 192kB RAM, 1MB Flash debuggable ARM Cortex-M4F development board) and one Black Magic Probe V2.1 (Plug and Play JTAG/SWD GNU debugger and programmer) from the first production batch. Including a JTAG cable and a Serial cable.
You get three 1Bitsy V1.0 (168MHz, 192kB RAM, 1MB Flash debuggable ARM Cortex-M4F development board) and one Black Magic Probe V2.1 (Plug and Play JTAG/SWD GNU debugger and programmer) from the first production batch. Including a JTAG cable and a Serial cable.
You get two 1Bitsy V1.0 (168MHz, 192kB RAM, 1MB Flash debuggable ARM Cortex-M4F development board) and two Black Magic Probes V2.1 (Plug and Play JTAG/SWD GNU debugger and programmer) from the first production batch. Including two JTAG cables and two Serial cables.
You get three Black Magic Probes V2.1 (Plug and Play JTAG/SWD GNU debugger and programmer) from the first production batch. Including three JTAG cables and three Serial cables for all your debugging needs.
You get five 1Bitsy V1.0 (168MHz, 192kB RAM, 1MB Flash debuggable ARM Cortex-M4F development board) and five Black Magic Probes V2.1 (Plug and Play JTAG/SWD GNU debugger and programmers) from the first production batch. Including five JTAG cables and five Serial cables.
You get two 1Bitsy V1.0 Prototypes (168MHz, 192kB RAM, 1MB Flash debuggable ARM Cortex-M4F development board), two Black Magic Probes V2.1 Prototypes (Plug and Play JTAG/SWD GNU debugger and programmers) delivered right after the Kickstarter ends in January. Black Magic Probes include JTAG cables and Serial cables. Additionally, you will receive two 1Bitsy and two Black Magic Probes from the final production batch. As well as a 1Bitsy T-Shirt.