Black Swift: why did we do it

    As dear Khabrovsk residents know, for almost a year now we have been developing a small computer (with an SD card, for example), running under OpenWRT, with built-in Wi-Fi, USB, Ethernet, gambling and affordable women. Dmitry dzhe wrote several times about him - and, in general, each time he collected in the comments the same question: why do you even do it? Well, after all, there is a Raspberry Pi, it costs the same, there is VoCore, Carambola, Edison, in the end - why do we need another “nanocomputer”?

    Perhaps we should finally answer this question - at the same time noting with this answer the appearance of our corporate blog (thanks, Habr!), As well as the launch of a separate website dedicated only to this project.

    In short: although initially the project began as “if not making us a nanocomputer like the Chinese, but cheaper for ourselves?”, The motivation shifted quite quickly - we realized that we could make it if not cheaper, then better and more convenient, and not only for myself.

    In general, if you look at existing micro- and nanocomputers (“nano” I conditionally define everything as comparable to a matchbox, and if it is comparable to a cigarette pack, then it’s already “micro”, probably; you need to enter the size gradation somehow so that BlackSwift stopped comparing with RPi?), Then they are quite clearly divided into two categories:

    • For fans, the most striking example is RPi in its classic version, and Arduino, although this is no longer our weight category. Very easy to connect, nothing to solder for the first time.
    • For professionals - VoCore, Carambola, Intel Edison and many others. Very small, easily integrated into your own development, but with a relatively high input threshold: of these three without a soldering iron, you can only launch VoCore, and even this launch will be limited to power supply, a daughter board is already needed for USB.

    So, we realized that we can and want to combine two things: to make a nanocomputer with a low input threshold and at the same time not only suitable, but also convenient for professionals (in the end, we ourselves want to use it in our developments).

    What is needed for lovers? The simplicity of the basic connection (ideally, power and some peripherals should be connected without a soldering iron at all - so that you can start experimenting right away), ease of setup, ease of writing and debugging your software.

    What is needed for professionals? Minimum dimensions, a lot of I / O, a lot of different interfaces, the convenience of sealing in its design. The simplicity of writing and debugging software also does not hurt: after all, a person can be an electronics professional, and with OpenWRT, you can only have experience in setting up your home router.

    Actually, from the combination of these requirements, Black Swift was born (I’ll immediately make a reservation that this is work-in-progress - we’ll take care of the software for now, but ready-made prototypes of the board do not have, for example, 2.75 V stabilizer - it will appear in the final version) :

    • Two standard micro-USBs on the board, through one the power is supplied, in the other via the USB-OTG adapter you can connect any USB-peripherals, for example, a webcam. That is, to start the usual charging from a smartphone is enough.
    • Wi-Fi on the board, including a printed antenna.
    • Power conditioner on the board. The board lives from 3.4 to 6 V, that is, it can work from one lithium can (although if you need USB, then, of course, 5 V ± 5%).
    • The built-in stabilizer has a large power reserve: it produces up to 1 A, the board itself consumes no more than 300 mA. Accordingly, you can use the remainder in your design: apply 5 V to the BSB, remove 3.3 V to 700 mA from it.
    • Optional 2.75V 300 mA stabilizer. The trick is that the recommended maximum voltage for GPIO in the AR9331 is 2.75 V (although they work with 3.3 V as well), so the BSB provides an easy and convenient way to follow this recommendation.
    • I / O in the form of conventional platforms for combs, albeit with a fine pitch (PLLD 1.27 mm). For fans, this is an opportunity to solder wires directly to the board, if you want to pick up some simple peripherals, for pros - convenient installation in your projects (much more convenient than with contacts along the edge of the board, like in Carambola, not to mention the fact that you can make the module removable or stand it vertically on the corner comb).
    • Power and USB are duplicated on the comb, of course.
    • Pre-installed OpenWRT, immediately configured to work as an access point. That is, after the first power-up, we just connect to the board via Wi-Fi.
    • A virtual machine for the PC, in which everything is already configured for writing and debugging software for OpenWRT - we are aware that not everyone wants to install the OpenWRT toolchain with pens.
    • A set of libraries for working with the main peripherals - starting with the GPIO.
    • User space utilities for working with the main peripherals. Not everyone loves programming in C, and the ability to twitch a leg from user space means that you can write some kind of frontend in bash scripts, PHP (along with the web-muzzle) or what else would be more convenient for a specific person to write, the choice here becomes rather big .
    • All this with open source and usage examples.

    (connecting peripherals - at least simply with wires)

    At the same time, the board has enough computing power and memory for almost everything that the soul can wish from a computer of this size. For example, cheap routers are made on the same Atheros AR9331 chip, the most famous example is TP-Link TL-MR3020 and its derivatives. There is 4 MB (in words: four megabytes) of flash, while OpenWRT with a web interface breaks into it, and somewhere else half a megabyte of space remains. Black Swift has 16 MB of flash and 64 MB of RAM - that is, to exhaust its resources, you need to do something very serious with OpenWRT (and in this case you can also connect a regular USB flash drive to USB - OpenWRT can use them to expand the root file systems). From the periphery - 26 GPIO, USB host, UART, I 2 S, I 2C, SPI, Ethernet ...

    Moreover, if the MR3020 has DDR memory, in systems on the Ralink RT5350 (the same VoCore) and SDR at all, then we have honest DDR2, with a corresponding increase in performance.

    (I blink the LED!)

    How do we see the application?

    Firstly, the trendy now is the theme of "smart home" and teapots with Wi-Fi. If you want to play around with this direction, then on Black Swift you can easily make automation and access to the Internet of almost any device, from an outlet(to make a Wi-Fi outlet on Black Swift is like blinking an LED on Arduin, everyone should go through it!) to even a washing machine. The dimensions make it possible to integrate Black Swift into almost anything, the abundance of GPIO is to connect buttons and indicators either in parallel with the device’s giblets or simply instead. In the simplest case, when you need several GPIOs (a kettle!), The harness can be made at least by a wall-mounted installation, if you need a little more complicated or a little prettier - draw and make at least LUT, at least, the Chinese motherboard for Black Swift.

    You can make an old, but your favorite printer wireless, you can turn the speakers into Wi-Fi-radio, you can turn it into an mp3 player that will play music from the file cleaner on your home NAS, and can be controlled from any smartphone (by the way, the columns are very convenient use one GPIO for turning on / off the power of their amplifier, depending on whether the music is playing). In all cases, all this will be simple, neat and hidden inside the device itself.

    Raspberry Pi in this capacity, as you know, is somehow not very good - it will not fit into most devices corny. So stop comparing us to her.

    If you wish, you can make the entire “smart home” controller on Black Swift by hanging the transceivers you need on it. It will turn out simple, inexpensive and very compact.

    Secondly, although this is a narrow niche, radio-controlled models. Dimensions, for flying - weight (the board weighs 3 grams), the presence of USB for a webcam, if the camera is not needed - the ability to be powered by one Li can ... In general, those who wish to have fun have a place to turn around.

    Thirdly, of course, in general, their own development. Only a few can design a computing module of this performance, much less (it’s possible, of course, to solder AR9331 manually, but that’s a lot for aesthetes), but making a motherboard for a ready-made module is more than feasible, especially for combs rather than soldering directly onto the surface of the motherboard. You can even not solder the module, but put it on the connector - solder the PLLD comb (double row 1.27 mm) into it and the PBD socket on the board.

    For professionals, it will be just an easy-to-use ready-to-use board (which, moreover, can be officially purchased in Russia, with all invoices and without foreign trade activities), for beginners - not only an easy-to-use embedded computer, but also a kind of ladder for more difficult developments. The fact is that with Black Swift you can develop your work gradually: start with the standard USB peripherals, then connect to the GPIO via an adapter or just solder with wires, then make your board using LUT, then with the help of the Chinese or Resonite ... The advantage of the BSB is that the central part at all these stages will remain the same.

    By the way, if we talk about motherboards, there will be an adapter for combs of 2.54 mm, and we think about devboard, on which there will immediately be a maximum of any peripherals (impractical for practical use, but convenient for debugging), a small board with several power keys and logic inputs , and a board with AVR, on which you can make an ADC for several channels and PWM.

    By the way, about AVR. Since there is UART on Black Swift, you can use Arduino as a peripheral to it (with level matching, of course: Black Swift has 3.3 V power, and arduins have 5 V). On Arduino, you can make the aforementioned ADCs and PWM, you can do something hard real-time, and on Black Swift - the main logic, Wi-Fi, web interface.

    By the way, about the Web interface. The ability to easily raise an HTTP server with PHP on the board (and even HTTPS, if you want) is not only an interface in the browser, but also a simple smartphone application. On the android, take the WebView component that will show your interface, add a pinch of Network Service Discovery to it, start the web server and the avahi daemon on the board (it is standard for OpenWRT). Avahi broadcasts “callsign” cards to the network, NSD finds IP devices from them, WebView shows the interface from it - we got the simplest smartphone application for your project, which looks like real and even pleases. Pulling Black Swift legs from PHP, or, conversely, reading an external ADC and showing the temperature of the water in the kettle is a task that we can easily solve.

    In general, you probably need to stop yourself with this “by the way”, otherwise you can continue for a long time. A tiny board with Wi-Fi and easy connection and use is a powerful thing.

    1) The Russian-language site of the project , in the process of filling.
    2) On Kickstarter - January 20.
    3) A trial batch with the final design of the board - by January 10. Now there are samples, but there are few of them and they are not final in terms of functionality and wiring of connectors.
    4) The face value is planned $ 25, for Russia we are considering the face value of $ 20.

    Also popular now: