Hacker News new | past | comments | ask | show | jobs | submit login

Hey, Erik Welsh from Octavo Systems here. We make the chip in the PocketBeagle (https://octavosystems.com/octavo_products/osd335x-sm/). Ask me anything.



Thanks for posting!

I'm curious about what motivated your design choice to use serial EEPROM instead of serial Flash? You could fit a 64 Mbit (2000x larger), 100 MHz (5x faster) Flash IC in the same package.

Downsides would be a few tens of microamps of standby power consumption (a rounding error given the other devices on the board/in the package), page-level erase and re-write (you have plenty of RAM to handle that hassle), and slightly reduced write endurance (but at a few hundred thousand cycles instead of a few thousand cycles, what applications would possibly notice the difference?).

The difference between 4kB (enough to store a serial number and a small bootloader) and 8 MB (large enough for small applications) is significant! The board could be half the size if it didn't need the uSD socket.

What is the EEPROM used for where Flash wouldn't be a better choice?


The design goal around the EEPROM was to have a small space for device and board configuration information. The EEPROM sits on I2C0 in order to maintain pin compatibility with the AM335x and so the data rates to access that memory are not terribly good. We are considering future products that would integrate larger non-volatile storage as well.


EEPROM allows you to write individual bytes. Flash requires you to write many bytes (~256) at once.

Some flash chips compensate by including a small amount of RAM to handle read-modify-write operations.


Flash doesn't always require writing many bytes at once, only erasing many bytes at once. Erasing means setting all the bits in a block to 1 (0xff). It's often possible to write individual bytes, although there's no way to switch a bit from 0 to 1 without erasing the whole block.


Technically correct... the best kind of correct? :)


It's actually a really useful characteristic to keep in mind. If you're writing logs, for example, writing the same block multiple times gives you:

* faster writes

* lower peak power consumption

* lower flash wear

* less chance of data corruption should power fail mid-write


Hi Erik - why are the SIPs ~ $30-40 in quantity on DigiKey while the PocketBeagle is only $25?

We're currently using Olimex's Am3352-SOM module in a product, and the Octavo SIP makes it simple enough to do a board down instead of a module... if only the SIPs were cheaper.


The pricing shown on Digikey and Mouser is only up to 100 units, i.e. small volumes. If you would like to discuss pricing for larger quantities, please contact sales@octavosystems.com

One other thing that I will mention is that the 21mm x 21mm form factor of the OSD335x-SM enables designs that would not be possible with other SOMs or discrete components since is 60% smaller than a discrete implementation.


Well, it's $43.73 for one SIP on DigiKey, yet I can buy the PocketBeagle for $25? For comparison the CHIP-Pro embeddable module is $16 (and does lots more).


Erik stated: "ask me anything", but maybe he didn't see this post?


What's the situation with control of TrustZone on this chip? In particular, are there any manufacturer-fused keys, and are there any user-fusable signing keys?


Unfortunately, the AM335x in the OSD335x-SM is general purpose only (i.e. only the non-secure side of the processor is exposed). In our development board (https://octavosystems.com/octavo_products/osd3358-sm-red/) for the OSD335x-SM, we have added a TPM and Secure NOR to allow customers to perform secure boot and have secure key storage. Please contact us (https://octavosystems.com/contact/) if you have any questions about this.


What's the deets on the Cortex-M3? Is that accessible to the end user, or is that blackboxed and NDA'd? (Cough cough, IPM... >_>!)

How's this stock up to the BBB as far as power usage goes?

What's the supply chain look like for your silicon? Planning to maintain stock at the distributors?

Any plans for a non/through hole? Exposing the ethernet and MDIO pin headers for another SD card would be awesome. (Props for putting USB on the headers, and keeping the underside empty!)

Edit: Looks like you're planning more on using this as a demo-board for your chip. Does powering the chip from the LiPo handle the RTC, so I can stop dropping a DS1307 onboard? ;)


The Cortex-M3 is for power management. You can find details from TI (http://processors.wiki.ti.com/index.php/Debugging_AM335x_Sus... http://processors.wiki.ti.com/index.php/AM335x_Linux_Power_M...).

The OSD335x-SM uses the same power management solution as the BBB. The chip itself will consume less power than the BBB since it doesn't have all the additional peripherals.

We currently have stock as DigiKey and Mouser and will maintain stock. If you have additional questions on supply, feel free to contact us (https://octavosystems.com/contact/)

We do have other development boards for this processor (https://octavosystems.com/octavo_products/osd3358-sm-red/) more expensive, but more features.

There are still some issues around RTC. The PMIC that we use (TPS65217C) doesn't support RTC-only mode, so unfortunately, you will still probably want to use the discrete RTC to get the standby time you need.


> you will still probably want to use the discrete RTC

[darth_vader_nooooo.gif]

Thanks for the responses Eric!


Do you have example source code (to borrow a term from Stack Overflow -- Minimal Complete Verifiable Examples) for all of the features that the chip provides?


I've worked with the larger version of this in the past (Beaglebone Black). I really think the two 2 200MHz PRUs [1] are very neat, allowing some nice realtime applications with a standard *nix distribution. They can run without the main CPU, and even wake the main CPU, for lower power tasks. You can access the PRU memory directly with mmap, and the PRU access to system memory space.

I used them to bit-bang MDIO (used by ethernet PHYs) and JTAG for debugging and burning fuses (strict timing requirements) in an IC.

It's cheap, easy to use, with good support, and much less of a barrier than an FPGA+ARM solution.

[1] http://elinux.org/images/d/da/Am335xPruReferenceGuide.pdf (page 14 for block diagram)


The OSD335x-SM contains an AM335x processor from Texas Instruments. This processor has a well established customer base and was used on the BeagleBone Black. Depending on what you want to do, there should be an example (both bare-metal and linux) for what you are trying to do. Feel free to contact us (https://octavosystems.com/contact/) if you have any specific questions.


I'm confused, 335X was designed and made by TI many years ago, is it outsourced to octavo now?

also wish it had some sort of networking option, e.g. esp8266 or wifi/BLE, kind of a standard need these days.


The AM335x processor is still made by TI. We are able to get silicon wafers from TI and then package them together with DDR, power management and passives into a single BGA device that you can use. This makes design and manufacturing of custom embedded hardware easier and faster.


then you should say you are a SiP(system-in-package) maker, not a chip maker? the difference is huge.


> We are able to get silicon wafers from TI and then package them...

Wow. I've started to become mildly interested in chip manufacturing tech, and the fact that you can do that is really amazing. I'm very curious how this actually works!


What's the compatibility like for existing BBB capes? Assuming one does a quick pin-conversion daughterboard to convert the PB pinout to the same dimensions as the BBB.

Also is the U-Boot/Linux source between the PB and BBB the same? Namely due to the Octavo being more of a complete solution than the AM3358/PMIC/EEPROM setup the BBB has


I made priority of choosing pins not used by LCD or eMMC on BeagleBone Black so that many capes not reassigning those pins could be adapted. The pinout was also done to work with a large number of existing breakout boards.

The EEPROM identifier requires a small update to the bootloader and device tree.


What are the primary uses you see for this device? Any interesting projects out there already that you're aware of?


Home / Building / Industrial automation, IoT, Motor control, i.e. anything that would use an AM335x processor / BeagleBone Black. There are a number of cool projects that have been done with BeagleBone Blue (https://beagleboard.org/blue) that uses another of our products and there will be a lot of interesting projects coming around this device and PocketBeagle.


Hi Erik, The JTAG pads looks a little different from usual JTAG pads for previous BeagleBone series. Is there cables or connectors that I can connect those pads?

I also noticed that the OSD335x-SM has got a EEPROM, which previous OSD335x module doesn't have. So basically OSD335x-SM is just a smaller and slightly better module than the previous one?


Yes. Unfortunately, with the form factor of the PocketBeagle, it was not able to use a standard JTAG connector footprint. I do not know of any standard cables or connectors to connect to those pads. I would also ask on the BeagleBoard forums.

Yes. The OSD335x-SM is a smaller and more optimized module than the original OSD335x. Based on customer feedback from the OSD335x, we optimized the pin out to ease routing and reduced the size to enable more space constrained applications (The OSD335x-SM is 60% smaller than a discrete implementation: https://octavosystems.com/2017/08/30/smaller-cheaper-pcbs/)


Thanks Erik.

How stable is the current chip design? I.e. will it be around for quite some time now?

Are you planning on letting clients customise the internal layout at some point?

What are your long-term goals and plans (that you can disclose)?


We plan to support our chip longer than TI supports the AM335x (the processor inside the OSD335x-SM).

This is just the second device in what we see is a large space for System-in-Package devices. Please contact us (https://octavosystems.com/contact/) if you would like to discuss plans and goals in more detail.


I love that this has the PMU built-in. When running on battery, whats the approximate minimum power consumption this can achieve (gpu disabled, processor active)?


You can see the power application note for the OSD335x at:

https://octavosystems.com/app_notes/osd335x-power-applicatio...

https://octavosystems.com/app_notes/osd335x-software-control...

the power consumption numbers for the OSD335x-SM will be similar.


What is a "zero-depth pipeline" (from https://github.com/beagleboard/pocketbeagle/wiki/FAQ)? That's a CPU which isn't pipelined, like the 80386, or something else?


Yes. The "zero-depth pipeline" is in relation to the Programmable Real-Time Units (PRUs) that are part of the AM335x. The PRUs are separate CPUs from the Cortex A8 that allow the AM335x inside the OSD335x-SM to perform real-time, low-latency operations, like industrial or motor control.


FLOSS graphics driver?


The AM335x inside the OSD335x uses an SGX hardware core. You can see more details: https://eewiki.net/display/linuxonarm/BeagleBone+Black#Beagl...


So the answer is "no", since it depends on the blobs from TI. That's too bad.


The SGX is an accelerator. You can run 2D graphics fine with the omapdrm driver from kernel.org. At least, that's how it is on the AM437x.


The AM335x has the same SGX accelerator as the AM437x so it has the same 2D/3D basic behavior. For more information on the software architecture see: http://processors.wiki.ti.com/index.php/Processor_Linux_SDK_...


Is this conceptually similar to mixing a Raspberry Pi Zero with a Teensy? Or, to be more abstract and less specifically wrong, it's a general purpose computer that also has microcontrollers (which, for my interest, happen to be similar to those in the Teensy)?


More or less. The AM335x SoC that is inside the OSD335x has a number of smaller, more specialized CPUs in addition to the main Cortex A8 CPU. This allows you to off-load smaller, real-time tasks. There are some other good comments in this thread about using the PRUs.


> board for beginners professionals alike.

might want to notify your customer they have a typo in the first paragraph of their website


Could you post some power usage stats? I don't see any on the website.


We have not posted any power application notes for the OSD335x-SM, but the power application notes from the OSD335x will be similar:

https://octavosystems.com/app_notes/osd335x-power-applicatio... https://octavosystems.com/app_notes/osd335x-software-control...


Do you have plans to eventually make something more pro-sumer oriented? I love all of these small board projects, but feel there is a woefully underserved market in the "it could be a desktop replacement" category.


I think this product, a development board for industrial application developers, is already pro-sumer oriented product. Pro-sumer product does not always mean latest and high-performance hardwares. These kinds of things never look at a desktop replacement.


Module, you are packaging a module from off the shelf parts.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: