PicoTCP is a complete TCP/IP stack, intended for embedded devices and designed to run on different architectures and networking hardware. The architecture of the stack allows easy selection of the features needed for any particular use, taking into account the sizing and the performance of the platform on which the code is to run. Even if it is designed to allow for size and performance constraints, the chosen approach is to comply with the latest standards in the telecommunications research, including the latest proposals, in order to achieve the highest standards for today's inter-networking communications. PicoTCP is distributed as a library to be integrated with application and form a combination for any hardware-specific firmware. The main characteristics of the library are the following: \begin{itemize} \item \textbf{Modularity} Each component of the stack is deployed in a separate module, allowing the selection at compile time of the components needed to be included for any specific platform, depending on the particular use case. We know that saving memory and resources is often mission-critical for a project, and therefore PicoTCP is fully focussed on saving up to the last byte of memory. \item \textbf{Code Quality} Every component added to the stack must pass a complete set of validation tests. Before new code can be introduced it is scanned and proof-checked by three separate levels of quality enforcement. The process related to the validation of the code is one of the major tasks of the engineering team. In the top-down approach of the design, a new module has to pass the review of our senior architects, to have it comply with the general guidelines. The development of the smaller components is done in a test-driven way, providing a specific unit test for each function call. Finally, functional non-regression tests are performed after the feature development is complete, and all the tests are automatically scheduled to run several times per day to check for functional regressions. \item \textbf{Adherence to the standards} The protocols included in the stack are done following stepare designed by following meticulously the guidelines provided by the International Engineering Task Force (IETF) with regards to inter-networking communication. A strong adherence to the standards guarantees a smooth integration with all the existing TCP/IP stacks, when communicating with both other embedded devices and with the PC/server world. \item \textbf{Features} A fully-featured protocol implementation including all those non-mandatory features means better data-transfer performances, coverage of rare/unique network scenarios and topologies and a better integration with all types of networking hardware devices. \item \textbf{Transparency} The availability of the source code to the Free Software community is an important added value of PicoTCP. %Our programmers %are proud of the aestethic of their code, and they show it with no %hesitation to the attention of the rest of the world. The constant peer reviews and constructive comments on the design and the development choices that PicoTCP receives from the academic world and from several hundreds of hobbyists and professionals who read the code, are an essential element in the quality build-up of the product. %PicoTCP constantly receives peer-reviews and constructive comments on the %design and the development choices from the academic world and from several %hundreds of hobbists and professionals who read the code. %We strongly %believe that software is not about keeping things secret: whenever one is %convinced by the quality of their work, there is absolutely nothing to hide. \item \textbf{Simplicity} The APIs provided to access the library facilities, both from the applications as well as from the device drivers, are small and well documented. This concurs with the goal of the library to facilitate the integration with the surroundings and minimize the time used to combine the stack with existing code. The support required to port to a new architecture is so small it is reduced to a set of macros defined in a header file specific for the platform. \end{itemize}